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