zoukankan      html  css  js  c++  java
  • DTO 中返回 Enum 类的通用写法

    1.写一个通用接口

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

    2.枚举类中实现接口

    @Getter
    public enum OrderStatusEnum implements CodeEnum<Integer> {
        NEW(0, "新订单"),
        FINISHED(1, "完结"),
        CANCEL(2, "已取消"),;
    
        private Integer code;
        private String msg;
    
        OrderStatusEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    }

    3.建一个工具 类

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

    4.dto 类中引用

    @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;
    
        //订单状态 默认0新订单
        private Integer orderStatus;
    
        //支付状态 默认0未支付
        private Integer payStatus;
    
        //    @JsonSerialize
    //    @DateTimeFormat(pattern = "yyyy-MM-dd")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date createTime;
        private Date updateTime;
    
        List<OrderDetail> orderDetailList;
    
        @JsonIgnore  //对象转json 格式可以忽略
        public OrderStatusEnum getOrderStatusEnum() {
            return EnumUtil.getByCode(orderStatus, OrderStatusEnum.class);
        }
    
    }
  • 相关阅读:
    sprint2第五天任务完成情况
    sprint2第四天任务完成情况
    sprint2第三天任务完成情况
    spark编程基础1
    git基本命令
    自定义bean对象实现序列化接口(Writable)
    HDFS 2.X新特性
    win10-idea连接hdfs集群
    centos6-yum源失效问题
    hadoop-源码编译
  • 原文地址:https://www.cnblogs.com/qinls/p/10080835.html
Copyright © 2011-2022 走看看