From 241c256ff1ba033d2c1d4f958534956ee37cd57a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 10 七月 2026 10:31:46 +0800
Subject: [PATCH] fix: redis数据隔离

---
 src/main/java/com/ruoyi/common/utils/DictUtils.java |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/utils/DictUtils.java b/src/main/java/com/ruoyi/common/utils/DictUtils.java
index e7f7eb8..621f242 100644
--- a/src/main/java/com/ruoyi/common/utils/DictUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/DictUtils.java
@@ -91,31 +91,31 @@
     {
         StringBuilder propertyString = new StringBuilder();
         List<SysDictData> datas = getDictCache(dictType);
-
-        if (StringUtils.isNotEmpty(datas))
+        if (StringUtils.isNull(datas))
         {
-            if (StringUtils.containsAny(separator, dictValue))
+            return StringUtils.EMPTY;
+        }
+        if (StringUtils.containsAny(separator, dictValue))
+        {
+            for (SysDictData dict : datas)
             {
-                for (SysDictData dict : datas)
+                for (String value : dictValue.split(separator))
                 {
-                    for (String value : dictValue.split(separator))
+                    if (value.equals(dict.getDictValue()))
                     {
-                        if (value.equals(dict.getDictValue()))
-                        {
-                            propertyString.append(dict.getDictLabel()).append(separator);
-                            break;
-                        }
+                        propertyString.append(dict.getDictLabel()).append(separator);
+                        break;
                     }
                 }
             }
-            else
+        }
+        else
+        {
+            for (SysDictData dict : datas)
             {
-                for (SysDictData dict : datas)
+                if (dictValue.equals(dict.getDictValue()))
                 {
-                    if (dictValue.equals(dict.getDictValue()))
-                    {
-                        return dict.getDictLabel();
-                    }
+                    return dict.getDictLabel();
                 }
             }
         }
@@ -134,8 +134,11 @@
     {
         StringBuilder propertyString = new StringBuilder();
         List<SysDictData> datas = getDictCache(dictType);
-
-        if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas))
+        if (StringUtils.isNull(datas))
+        {
+            return StringUtils.EMPTY;
+        }
+        if (StringUtils.containsAny(separator, dictLabel))
         {
             for (SysDictData dict : datas)
             {
@@ -163,6 +166,48 @@
     }
 
     /**
+     * 鏍规嵁瀛楀吀绫诲瀷鑾峰彇瀛楀吀鎵�鏈夊��
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @return 瀛楀吀鍊�
+     */
+    public static String getDictValues(String dictType)
+    {
+        StringBuilder propertyString = new StringBuilder();
+        List<SysDictData> datas = getDictCache(dictType);
+        if (StringUtils.isNull(datas))
+        {
+            return StringUtils.EMPTY;
+        }
+        for (SysDictData dict : datas)
+        {
+            propertyString.append(dict.getDictValue()).append(SEPARATOR);
+        }
+        return StringUtils.stripEnd(propertyString.toString(), SEPARATOR);
+    }
+
+    /**
+     * 鏍规嵁瀛楀吀绫诲瀷鑾峰彇瀛楀吀鎵�鏈夋爣绛�
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @return 瀛楀吀鍊�
+     */
+    public static String getDictLabels(String dictType)
+    {
+        StringBuilder propertyString = new StringBuilder();
+        List<SysDictData> datas = getDictCache(dictType);
+        if (StringUtils.isNull(datas))
+        {
+            return StringUtils.EMPTY;
+        }
+        for (SysDictData dict : datas)
+        {
+            propertyString.append(dict.getDictLabel()).append(SEPARATOR);
+        }
+        return StringUtils.stripEnd(propertyString.toString(), SEPARATOR);
+    }
+
+    /**
      * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨
      * 
      * @param key 瀛楀吀閿�
@@ -177,7 +222,7 @@
      */
     public static void clearDictCache()
     {
-        Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.SYS_DICT_KEY + "*");
+        Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.PREFIX + CacheConstants.SYS_DICT_KEY + "*");
         SpringUtils.getBean(RedisCache.class).deleteObject(keys);
     }
 
@@ -189,6 +234,6 @@
      */
     public static String getCacheKey(String configKey)
     {
-        return CacheConstants.SYS_DICT_KEY + configKey;
+        return CacheConstants.PREFIX + CacheConstants.SYS_DICT_KEY + configKey;
     }
 }

--
Gitblit v1.9.3