yaowanxin
5 天以前 a0914318549b357ef3c438d0c2a3714f58ea3487
src/main/java/com/ruoyi/common/utils/EnumUtil.java
@@ -2,7 +2,6 @@
import com.ruoyi.common.enums.BaseEnum;
import com.ruoyi.common.enums.StockRecordTypeEnum;
import java.util.*;
import java.util.stream.Collectors;
@@ -20,7 +19,7 @@
     */
    public static <E extends Enum<E> & BaseEnum> E fromCode(Class<E> enumClass, int code) {
        for (E e : enumClass.getEnumConstants()) {
            if (e.getCode() == code) {
            if ((int)e.getCode() == code) {
                return e;
            }
        }
@@ -29,7 +28,7 @@
    public static <E extends Enum<E> & BaseEnum> E fromCodeHasNull(Class<E> enumClass, int code) {
        for (E e : enumClass.getEnumConstants()) {
            if (e.getCode() == code) {
            if ((int)e.getCode() == code) {
                return e;
            }
        }
@@ -38,7 +37,7 @@
    public static <E extends Enum<E> & BaseEnum> E fromCodeHasDefault(Class<E> enumClass, int code,E defaultE) {
        for (E e : enumClass.getEnumConstants()) {
            if (e.getCode() == code) {
            if ((int)e.getCode() == code) {
                return e;
            }
        }
@@ -74,34 +73,34 @@
        return Arrays.stream(enumClass.getEnumConstants())
                .map(e -> {
                    Map<String, Object> map = new HashMap<>();
                    map.put("key", e.getCode());
                    map.put("key", e.getCode().toString());
                    map.put("value", e.getValue());
                    return map;
                })
                .collect(Collectors.toList());
    }
    /**
     * 转为 Map<Integer, String>
     * 格式: { 1: "绞线", 0: "拉丝" }
     */
    public static <E extends Enum<E> & BaseEnum> Map<Integer, String> toMap(Class<E> enumClass) {
        return Arrays.stream(enumClass.getEnumConstants())
                .collect(Collectors.toMap(BaseEnum::getCode, BaseEnum::getValue));
    }
    public static void main(String[] args) {
        // ✅ 1. 根据 code 获取枚举
        StockRecordTypeEnum status = EnumUtil.fromCode(StockRecordTypeEnum.class, 1);
        System.out.println(status.getValue()); // 绞线
        // ✅ 2. 转成 list (适合前端)
        System.out.println(EnumUtil.toList(StockRecordTypeEnum.class));
        // 输出: [{code=1, value=绞线}, {code=0, value=拉丝}]
        // ✅ 3. 转成 map
        System.out.println(EnumUtil.toMap(StockRecordTypeEnum.class));
        // 输出: {1=绞线, 0=拉丝}
    }
//    /**
//     * 转为 Map<Integer, String>
//     * 格式: { 1: "绞线", 0: "拉丝" }
//     */
//    public static <E extends Enum<E> & BaseEnum> Map<Integer, String> toMap(Class<E> enumClass) {
//        return Arrays.stream(enumClass.getEnumConstants())
//                .collect(Collectors.toMap((BaseEnum::getCode, BaseEnum::getValue));
//    }
//
//
//    public static void main(String[] args) {
//        // ✅ 1. 根据 code 获取枚举
//        StockRecordTypeEnum status = EnumUtil.fromCode(StockRecordTypeEnum.class, 1);
//        System.out.println(status.getValue()); // 绞线
//
//        // ✅ 2. 转成 list (适合前端)
//        System.out.println(EnumUtil.toList(StockRecordTypeEnum.class));
//        // 输出: [{code=1, value=绞线}, {code=0, value=拉丝}]
//
//        // ✅ 3. 转成 map
//        System.out.println(EnumUtil.toMap(StockRecordTypeEnum.class));
//        // 输出: {1=绞线, 0=拉丝}
//    }
}