Java实现转跳不同系统使用枚举加switch的方式示例

网友投稿 195 2023-07-15

Java实现转跳不同系统使用枚举加switch的方式示例

因有个判断需要处理不同系统类型跳转不同系统。考虑用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() {

retuoLxahcIdNvrn 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 paramMap, ErpResponse checkData) throws Exception {

ErpResponse loginData = null;

Map user= (Map) coLxahcIdNvheckData.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;

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决Eclipse/STS中出现Resource is out of sync with the file system的异常问题
下一篇:Spring Boot使用Thymeleaf + Gradle构建war到Tomcat
相关文章

 发表评论

暂时没有评论,来抢沙发吧~