时间:2021-05-20
因有个判断需要处理不同系统类型跳转不同系统。考虑用switch + 枚举的方式。
具体使用案例如下:
package com.b2b.common.constant;import com.base.utils.base.StringUtils;/** * 系统类型枚举 * @author shijing */public enum SystemType { ERP(0,"ERP"), ORDER_PLATFORM(1,"订货平台"), PERSONAL(2,"个人中心系统"), SHOP_MALL(3,"商城"), PARTNER(4,"伙伴系统"); private int value; private String desc; SystemType(int value ,String desc) { this.value = value; this.desc = desc; } public int getValue() { return value; } public String getDesc() { return desc; } /** * 通过value取枚举 * @param value * @return */ public static SystemType getTypeByValue(String value){ if (StringUtils.isNull(value)){ return null; } int valueKey = Integer.parseInt(value); for (SystemType enums : SystemType.values()) { if (enums.getValue() == valueKey) { return enums; } } return null; } /** * 通过value取描述 * @param value * @return */ public static String getDescByValue(int value) { for (SystemType enums : SystemType.values()) { if (enums.getValue() == value) { return enums.getDesc(); } } return ""; }}switch+枚举的使用案例:
/** * 区分不同系统类型,登录不同系统 * @author shijing * @param paramMap * @param checkData * @return * @throws Exception */ private ErpResponse getLoginResponse(Map<String, Object> paramMap, ErpResponse checkData) throws Exception { ErpResponse loginData = null; Map<String,Object> user= (Map<String, Object>) checkData.getData(); //获取user的系统类型,然后区分是哪个系统实例用户登录 String sysBaseType = (String) user.get("sys_base_type"); SystemType systemType = SystemType.getTypeByValue(sysBaseType); switch(systemType){ case ERP: erpLogin((String) user.get("user_id")); loginData.setData(user); break; case ORDER_PLATFORM: //订货平台 orderPlatformLoginByCheck(paramMap); loginData.setData(user); break; case PERSONAL: //个人中心 loginData = personalLogin(user); break; default: LOGGER.info("系统类型不满足"); break; } return loginData; }总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#从枚举值获取对应的文本描述详解有时枚举值在显示时,需要显示枚举值对应的文本串。一种方案是在调用的地方使用switch或者if来判断枚举值,然后赋给不同的文本
这篇文章主要介绍了Java枚举类接口实例原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下枚举类可以实现
枚举特点1.用enum定义枚举类默认继承了java.lang.Enum类而不是继承了Object类。其中java.lang.Enum类实现了java.lang.
这篇文章主要介绍了Java静态内部类实现单例过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下枚举实现单例线
java枚举的功能挺多,但是坑更多,使用的时候要注意。如下面这个枚举。@Getter@AllArgsConstructorpublicenumEnumExpen