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);
        }
    
    }
  • 相关阅读:
    C#读写txt文件的两种方法介绍
    C#委托的介绍(delegate、Action、Func、predicate)
    C#邮件发送
    ASP.NET 文件上传于下载
    关于Virtual Box虚拟机里的系统不能启动的解决方法
    unity的yield
    unity文件路径
    手机上的unity路径
    readonly
    unity延迟加载图片
  • 原文地址:https://www.cnblogs.com/qinls/p/10080835.html
Copyright © 2011-2022 走看看