• 如何在类中根据枚举值,获取枚举的message的工具类


    枚举类为:

    public enum OrderStatusEnum implements CondeEnum{
        NEW(0, "新订单"),
        FINISHED(1, "完结"),
        CANCLE(2, "取消");
    
        private Integer code;
        private String msg;
    
        OrderStatusEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    
        public Integer getCode() {
            return code;
        }
    
        public String getMsg() {
            return msg;
        }
    }

    实现的接口为:

    public interface CondeEnum<T> {
    
        T getCode();
    }

    然后实现一个工具类:

    public class EnumUtil {
    
        public static <T extends CondeEnum> T getByCode(Integer code, Class<T> enumClass) {
            for (T each : enumClass.getEnumConstants()) {
                if (code.equals(each.getCode())) {
                    return each;
                }
            }
            return null;
        }
    }

    在实体类中直接进行赋值:

    @Data
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public class OrderDTO {
    
        private String orderId;
    
        private String buyerName;
    
        private String buyerPhone;
    
        private String buyerAddress;
    
        private String buyerOpenid;
    
        private BigDecimal orderAmount;
    
        private Integer orderStatus = OrderStatusEnum.NEW.getCode();
    
        private Integer payStatus = PayStatusEnum.WAIT.getCode();
    
        @JsonSerialize(using = Date2LongSerializer.class)
        private LocalDateTime createTime;
    
        @JsonSerialize(using = Date2LongSerializer.class)
        private LocalDateTime updateTime;
    
        private List<OrderDetail> orderDetailList;
    
        @JsonIgnore
        public OrderStatusEnum getOrderStatusEnum() {
            return EnumUtil.getByCode(orderStatus, OrderStatusEnum.class);
        }
    
        @JsonIgnore
        public PayStatusEnum getPayStatusEnum() {
            return EnumUtil.getByCode(payStatus, PayStatusEnum.class);
        }
    }
  • 相关阅读:
    JAVA框架 Spring 事务
    JAVA框架 Spring 调用jdbcsuport简化开发
    JAVA框架 Spring JDBC模板
    JAVA框架 Spring AOP注解
    JAVA框架 Spring AOP--切入点表达式和通知类型
    JAVA框架 Spring AOP底层原理
    JAVA框架 Spring junit整合单元测试
    JAVA框架 Spring 注解注入
    JAVA框架 Spring 引入多个配置文件
    django序列化
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/12019749.html
Copyright © 2020-2023  润新知