Jelajahi Sumber

代码提交

cxd 6 bulan lalu
induk
melakukan
cf38a8f646
1 mengubah file dengan 19 tambahan dan 13 penghapusan
  1. 19 13
      gqy-common/src/main/java/com/gqy/common/utils/DictUtils.java

+ 19 - 13
gqy-common/src/main/java/com/gqy/common/utils/DictUtils.java

@@ -10,7 +10,7 @@ import com.gqy.common.utils.spring.SpringUtils;
 
 /**
  * 字典工具类
- * 
+ *
  * @author raycos
  */
 public class DictUtils
@@ -22,7 +22,7 @@ public class DictUtils
 
     /**
      * 设置字典缓存
-     * 
+     *
      * @param key 参数键
      * @param dictDatas 字典数据列表
      */
@@ -33,23 +33,29 @@ public class DictUtils
 
     /**
      * 获取字典缓存
-     * 
+     *
      * @param key 参数键
      * @return dictDatas 字典数据列表
      */
     public static List<SysDictData> getDictCache(String key)
     {
-        JSONArray arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
-        if (StringUtils.isNotNull(arrayCache))
-        {
-            return arrayCache.toList(SysDictData.class);
+        Object cacheObject = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
+        if (StringUtils.isNotNull(cacheObject)) {
+            // 如果已经是 List<SysDictData>,直接返回
+            if (cacheObject instanceof List) {
+                return (List<SysDictData>) cacheObject;
+            }
+            // 如果是 JSONArray,转换后返回
+            if (cacheObject instanceof JSONArray) {
+                return ((JSONArray) cacheObject).toList(SysDictData.class);
+            }
         }
         return null;
     }
 
     /**
      * 根据字典类型和字典值获取字典标签
-     * 
+     *
      * @param dictType 字典类型
      * @param dictValue 字典值
      * @return 字典标签
@@ -65,7 +71,7 @@ public class DictUtils
 
     /**
      * 根据字典类型和字典标签获取字典值
-     * 
+     *
      * @param dictType 字典类型
      * @param dictLabel 字典标签
      * @return 字典值
@@ -81,7 +87,7 @@ public class DictUtils
 
     /**
      * 根据字典类型和字典值获取字典标签
-     * 
+     *
      * @param dictType 字典类型
      * @param dictValue 字典值
      * @param separator 分隔符
@@ -124,7 +130,7 @@ public class DictUtils
 
     /**
      * 根据字典类型和字典标签获取字典值
-     * 
+     *
      * @param dictType 字典类型
      * @param dictLabel 字典标签
      * @param separator 分隔符
@@ -209,7 +215,7 @@ public class DictUtils
 
     /**
      * 删除指定字典缓存
-     * 
+     *
      * @param key 字典键
      */
     public static void removeDictCache(String key)
@@ -228,7 +234,7 @@ public class DictUtils
 
     /**
      * 设置cache key
-     * 
+     *
      * @param configKey 参数键
      * @return 缓存键key
      */