拦截非字符串型参数取值

拦截非字符串型参数取值

【1】 准备枚举类:

@Getter
@AllArgsConstructor
public enum QualificationType {

    LEGAL_IDENTITY_CARD_FRONT("LEGAL_IDENTITY_CARD_FRONT", 2, "法人身份证(正)"),

    LEGAL_IDENTITY_CARD_BACK("LEGAL_IDENTITY_CARD_BACK", 3, "法人身份证(反)"),

    BUSINESS_LICENSE("BUSINESS_LICENSE", 1, "营业执照证"),

    AGENT_IDENTIFY_CARD_FRONT("AGENT_IDENTIFY_CARD_FRONT", 4, "代理人身份证(正)"),

    AGENT_IDENTIFY_CARD_BACK("AGENT_IDENTIFY_CARD_BACK", 5, "代理人身份证(反)"),

    AGENT_ATTORNEY("AGENT_ATTORNEY", 6 ,"代理委托书"),
    ;


    /**
     * 资质信息枚举Map
     */
    public static Map<String, String> qualificationMap;

    static {
        qualificationMap = new LinkedHashMap<>();
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_FRONT.code, QualificationType.LEGAL_IDENTITY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_BACK.code, QualificationType.LEGAL_IDENTITY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.BUSINESS_LICENSE.code, QualificationType.BUSINESS_LICENSE.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_FRONT.code, QualificationType.AGENT_IDENTIFY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_BACK.code, QualificationType.AGENT_IDENTIFY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.AGENT_ATTORNEY.code, QualificationType.AGENT_ATTORNEY.desc);
    }

    private String code;

    private Integer num;

    private String desc;

    /**
     * 根据宝付订单状态映射
     */
    public static QualificationType mappingByNum(Integer num) {
        for(QualificationType qualificationType : QualificationType.values()){
            if(qualificationType.getNum().equals(num)){
                return qualificationType;
            }
        }
        return null;
    }

}

【2】构建资质枚举信息Map

    /**
     * 资质信息枚举Map
     */
    public static Map<String, String> qualificationMap;

    static {
        qualificationMap = new LinkedHashMap<>();
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_FRONT.code, QualificationType.LEGAL_IDENTITY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_BACK.code, QualificationType.LEGAL_IDENTITY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.BUSINESS_LICENSE.code, QualificationType.BUSINESS_LICENSE.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_FRONT.code, QualificationType.AGENT_IDENTIFY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_BACK.code, QualificationType.AGENT_IDENTIFY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.AGENT_ATTORNEY.code, QualificationType.AGENT_ATTORNEY.desc);
    }

【3】枚举类通过map转为list

 /**
     * 枚举类通过map转为list
     * @param map         map集合
     * @return           资质信息集合
     */
    private List<DirQualification> transferEnumMapToList(Map<String,String> map){
        List<DirQualification> dirQualificationList = new ArrayList<>();

        Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry<String, String> entry = entries.next();
            DirQualification dirQualification = new DirQualification();
            dirQualification.setCode(entry.getKey());
            dirQualification.setDesc(entry.getValue());
            dirQualificationList.add(dirQualification);
        }
      return  dirQualificationList;
    }

【4】判断枚举Map中是否含有请求参数值

 boolean contains = map.containsKey(key); 
该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值