| | |
| | | |
| | | |
| | | import com.ruoyi.common.enums.BaseEnum; |
| | | import com.ruoyi.common.enums.StockRecordTypeEnum; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | */ |
| | | public static <E extends Enum<E> & BaseEnum> E fromCode(Class<E> enumClass, int code) { |
| | | for (E e : enumClass.getEnumConstants()) { |
| | | if (e.getCode() == code) { |
| | | if (Integer.parseInt(String.valueOf(e.getCode())) == code) { |
| | | return e; |
| | | } |
| | | } |
| | |
| | | |
| | | public static <E extends Enum<E> & BaseEnum> E fromCodeHasNull(Class<E> enumClass, int code) { |
| | | for (E e : enumClass.getEnumConstants()) { |
| | | if (e.getCode() == code) { |
| | | if (Integer.parseInt(String.valueOf(e.getCode())) == code) { |
| | | return e; |
| | | } |
| | | } |
| | |
| | | |
| | | 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 (Integer.parseInt(String.valueOf(e.getCode())) == code) { |
| | | return e; |
| | | } |
| | | } |
| | |
| | | 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=拉丝} |
| | | // } |
| | | } |