From 8c6327da1e57033a8d331d11e7f2e81496f1d6b5 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期五, 23 五月 2025 15:15:24 +0800
Subject: [PATCH] 修改导入导出规则

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

diff --git a/aps-common/aps-common-security/src/main/java/com/aps/common/security/utils/DictUtils.java b/aps-common/aps-common-security/src/main/java/com/aps/common/security/utils/DictUtils.java
index b3466a3..b1b7fe1 100644
--- a/aps-common/aps-common-security/src/main/java/com/aps/common/security/utils/DictUtils.java
+++ b/aps-common/aps-common-security/src/main/java/com/aps/common/security/utils/DictUtils.java
@@ -1,43 +1,43 @@
 package com.aps.common.security.utils;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
+
 import com.alibaba.fastjson2.JSONArray;
 import com.aps.common.core.constant.CacheConstants;
 import com.aps.common.core.utils.SpringUtils;
 import com.aps.common.core.utils.StringUtils;
 import com.aps.common.redis.service.RedisService;
 import com.aps.system.api.domain.SysDictData;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 瀛楀吀宸ュ叿绫�
- * 
+ *
  * @author ruoyi
  */
-public class DictUtils
-{
+public class DictUtils {
     /**
      * 璁剧疆瀛楀吀缂撳瓨
-     * 
-     * @param key 鍙傛暟閿�
+     *
+     * @param key       鍙傛暟閿�
      * @param dictDatas 瀛楀吀鏁版嵁鍒楄〃
      */
-    public static void setDictCache(String key, List<SysDictData> dictDatas)
-    {
+    public static void setDictCache(String key, List<SysDictData> dictDatas) {
         SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas);
     }
 
     /**
      * 鑾峰彇瀛楀吀缂撳瓨
-     * 
+     *
      * @param key 鍙傛暟閿�
      * @return dictDatas 瀛楀吀鏁版嵁鍒楄〃
      */
-    public static List<SysDictData> getDictCache(String key)
-    {
+    public static List<SysDictData> getDictCache(String key) {
         JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key));
-        if (StringUtils.isNotNull(arrayCache))
-        {
+        if (StringUtils.isNotNull(arrayCache)) {
             return arrayCache.toList(SysDictData.class);
         }
         return null;
@@ -45,31 +45,56 @@
 
     /**
      * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨
-     * 
+     *
      * @param key 瀛楀吀閿�
      */
-    public static void removeDictCache(String key)
-    {
+    public static void removeDictCache(String key) {
         SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key));
     }
 
     /**
      * 娓呯┖瀛楀吀缂撳瓨
      */
-    public static void clearDictCache()
-    {
+    public static void clearDictCache() {
         Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(CacheConstants.SYS_DICT_KEY + "*");
         SpringUtils.getBean(RedisService.class).deleteObject(keys);
     }
 
     /**
      * 璁剧疆cache key
-     * 
+     *
      * @param configKey 鍙傛暟閿�
      * @return 缂撳瓨閿甼ey
      */
-    public static String getCacheKey(String configKey)
-    {
+    public static String getCacheKey(String configKey) {
         return CacheConstants.SYS_DICT_KEY + configKey;
     }
+
+
+    public static interface CacheValue{
+        String get(String label);
+    }
+
+    /**
+     * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿��
+     *
+     * @param dictType
+     * @return
+     */
+    public static CacheValue getCacheValue(String dictType) {
+
+        List<SysDictData> cacheData = StringUtils.isEmpty(dictType) ? Collections.emptyList() : getDictCache(dictType);
+        return label -> {
+            if (CollectionUtils.isEmpty(cacheData)){
+                return null;
+            }
+            if(StringUtils.isEmpty(label)){
+                return null;
+            }
+            return cacheData.stream().filter(item -> Objects.equals(item.getDictLabel(), label))
+                    .findFirst()
+                    .map(SysDictData::getDictValue)
+                    .orElse(null);
+        };
+    }
 }

--
Gitblit v1.9.3