首页 > 开发 > Java > 正文

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

2024-07-14 08:43:04
字体:
来源:转载
供稿:网友

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表