From 1ce636feec02d585b6a3fd83adf8402c91281121 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 19 Mar 2025 22:33:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(system/dict):=20=E4=BF=AE=E5=A4=8D=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E5=AD=97=E5=85=B8=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E5=AD=98=E5=9C=A8=E7=A9=BA=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/DictItemServiceImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/continew-module-system/src/main/java/top/continew/admin/system/service/impl/DictItemServiceImpl.java b/continew-module-system/src/main/java/top/continew/admin/system/service/impl/DictItemServiceImpl.java index 1f5baef7..a71f31e1 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/service/impl/DictItemServiceImpl.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/service/impl/DictItemServiceImpl.java @@ -17,6 +17,7 @@ package top.continew.admin.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.StrUtil; import jakarta.annotation.PostConstruct; @@ -40,7 +41,6 @@ import top.continew.starter.extension.crud.service.BaseServiceImpl; import java.util.*; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; /** * 字典项业务实现 @@ -114,6 +114,9 @@ public class DictItemServiceImpl extends BaseServiceImpl toEnumDict(Class enumClass) { Object[] enumConstants = enumClass.getEnumConstants(); + if (ArrayUtil.isEmpty(enumConstants)) { + return List.of(); + } return Arrays.stream(enumConstants).map(e -> { BaseEnum baseEnum = (BaseEnum)e; return new LabelValueResp(baseEnum.getDescription(), baseEnum.getValue(), baseEnum.getColor()); @@ -126,9 +129,14 @@ public class DictItemServiceImpl extends BaseServiceImpl> classSet = ClassUtil.scanPackageBySuper(projectProperties.getBasePackage(), BaseEnum.class); - ENUM_DICT_CACHE.putAll(classSet.stream() - .collect(Collectors.toMap(cls -> StrUtil.toUnderlineCase(cls.getSimpleName()) - .toLowerCase(), this::toEnumDict))); + for (Class cls : classSet) { + List value = this.toEnumDict(cls); + if (CollUtil.isEmpty(value)) { + continue; + } + String key = StrUtil.toUnderlineCase(cls.getSimpleName()).toLowerCase(); + ENUM_DICT_CACHE.put(key, value); + } log.debug("枚举字典已缓存到内存:{}", ENUM_DICT_CACHE.keySet()); } } \ No newline at end of file