状态码维护类

public class SysCode{
	private String sys_code; // 系统状态码
	private String sys_desc; // 状态码描述
	private String asso_code; // 伴生状态码
	private String asso_desc; // 状态码描述

	protected static final Map<String, SysCode> codeMap = Maps.newHashMap();
	
	// 系统状态码
	private static Map<String ,String> sysCodeMap = new HashMap<String ,String>(){
		private static final long serialVersionUID = 1L;

	{
		put("200", "成功");
		
		// 黑/白名单
		put("100", "黑名单");
		put("101", "触发大黑名单");
		put("102", "触发系统屏蔽地区");
		put("103", "触发用户黑名单");
		put("104", "用户通道地区屏蔽");
		put("105", "非用户白名单");
		put("106", "触发全量用户黑名单");
		
		// 签名相关
		put("201", "签名未报备");
		put("202", "触发黑签名");
		put("203", "内容没签名");
		put("204", "签名位置不正确");
		put("205", "多签名");
		put("206", "签名被禁止");
		put("207", "签名不正确");
		
		// 账户问题
		put("300", "用户余额不足");
		
		// 重复问题
		put("400", "白名单重号过滤");
		put("401", "重号过滤7天");
		put("402", "重号过滤30天");
		put("403", "24小时内的重号过滤");
		
		// 短信内容
		put("500", "触发自动屏蔽词");
		put("501", "触发SMG自动屏蔽词");
		put("502", "非用户短信模板");
		
		// 其他问题
		put("001", "驳回失败");
	}};

	public static SysCode SUCCEED = new SysCode("200","成功", "200") ;


	/**
	 * 含参构造
	 * @param asso_code 伴生状态码
	 * @param asso_desc 伴生状态码说明
	 * @param sys_code 系统状态码
	 */
	public SysCode(String asso_code, String asso_desc,String sys_code) {
		this.sys_code = asso_code;
		this.sys_desc = sysCodeMap.get(sys_code);
		this.asso_code = asso_code;
		this.asso_desc = asso_desc;
		
		// 当状态码位新增状态时
		if(StringUtils.isEmpty(this.sys_desc)){
			this.sys_desc = asso_desc;
		}
		codeMap.put(asso_code,this);
	}
	
	/**
	 * 静态含参构造
	 * @param asso_code 伴生状态码
	 * @param asso_desc 伴生状态码说明
	 * @param sys_code 系统状态码
	 */
	public static SysCode container(String asso_code, String asso_desc,String sys_code) {
		return new SysCode(asso_code, asso_desc, sys_code);
	}

	/**
	 * 根据伴生状态码获取对象
	 * @param asso_code 伴生状态码
	 * @return 状态码对象
	 */
	public static SysCode get(String asso_code) {
		return codeMap.get(asso_code);
	}

	public String getSys_code() {
		return sys_code;
	}

	public String getSys_desc() {
		return sys_desc;
	}

	public String getAsso_code() {
		return asso_code;
	}

	public String getAsso_desc() {
		return asso_desc;
	}

	@Override
	public String toString() {
		return "SysCode{" +
				"sys_code='" + sys_code + '\'' +
				", sys_desc='" + sys_desc + '\'' +
				", asso_code='" + asso_code + '\'' +
				", asso_desc='" + asso_desc + '\'' +
				'}';
	}

	public static void main(String[] args){
		System.out.println(SysCode.SUCCEED.getSys_code());
		System.out.println(get("200").getSys_desc());
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值