Java实现转跳不同系统使用枚举加switch的方式示例
因有个判断需要处理不同系统类型跳转不同系统。考虑用switch+枚举的方式。
具体使用案例如下:
packagecom.b2b.common.constant; importcom.base.utils.base.StringUtils; /** *系统类型枚举 *@authorshijing */ publicenumSystemType{ ERP(0,"ERP"), ORDER_PLATFORM(1,"订货平台"), PERSONAL(2,"个人中心系统"), SHOP_MALL(3,"商城"), PARTNER(4,"伙伴系统"); privateintvalue; privateStringdesc; SystemType(intvalue,Stringdesc){ this.value=value; this.desc=desc; } publicintgetValue(){ returnvalue; } publicStringgetDesc(){ returndesc; } /** *通过value取枚举 *@paramvalue *@return */ publicstaticSystemTypegetTypeByValue(Stringvalue){ if(StringUtils.isNull(value)){ returnnull; } intvalueKey=Integer.parseInt(value); for(SystemTypeenums:SystemType.values()){ if(enums.getValue()==valueKey){ returnenums; } } returnnull; } /** *通过value取描述 *@paramvalue *@return */ publicstaticStringgetDescByValue(intvalue){ for(SystemTypeenums:SystemType.values()){ if(enums.getValue()==value){ returnenums.getDesc(); } } return""; } }
switch+枚举的使用案例:
/** *区分不同系统类型,登录不同系统 *@authorshijing *@paramparamMap *@paramcheckData *@return *@throwsException */ privateErpResponsegetLoginResponse(MapparamMap,ErpResponsecheckData)throwsException{ ErpResponseloginData=null; Map user=(Map )checkData.getData(); //获取user的系统类型,然后区分是哪个系统实例用户登录 StringsysBaseType=(String)user.get("sys_base_type"); SystemTypesystemType=SystemType.getTypeByValue(sysBaseType); switch(systemType){ caseERP: erpLogin((String)user.get("user_id")); loginData.setData(user); break; caseORDER_PLATFORM: //订货平台 orderPlatformLoginByCheck(paramMap); loginData.setData(user); break; casePERSONAL: //个人中心 loginData=personalLogin(user); break; default: LOGGER.info("系统类型不满足"); break; } returnloginData; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接