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);
        }
    
    }
  • 相关阅读:
    [网络流24题] 最小路径覆盖问题
    [P2664] 树上游戏
    [ZROI #316] ZYB玩字符串
    [Codeforces #172] Tutorial
    [网络流24题]方格取数
    Python 全栈开发:python函数进阶
    Python 全栈开发:python函数基础
    Python 全栈开发:python文件处理
    Python 全栈开发:python字符编码
    Python 全栈开发:python字典dict
  • 原文地址:https://www.cnblogs.com/qinls/p/10080835.html
Copyright © 2011-2022 走看看