From f8ab5663ef7220f8adc0fd8fcbd7d0cf84c6d77d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 02 八月 2021 12:15:14 +0800 Subject: [PATCH] update 日常字符串校验 统一重构到 StringUtils 便于维护扩展 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java | 372 ++++++++++++++++++++++++++-------------------------- 1 files changed, 185 insertions(+), 187 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java index 5d1fef1..69bab49 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java @@ -1,187 +1,185 @@ -package com.ruoyi.common.utils; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Validator; -import cn.hutool.core.util.StrUtil; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.utils.spring.SpringUtils; - -import java.util.Collection; -import java.util.List; - -/** - * 瀛楀吀宸ュ叿绫� - * - * @author ruoyi - */ -public class DictUtils -{ - /** - * 鍒嗛殧绗� - */ - public static final String SEPARATOR = ","; - - /** - * 璁剧疆瀛楀吀缂撳瓨 - * - * @param key 鍙傛暟閿� - * @param dictDatas 瀛楀吀鏁版嵁鍒楄〃 - */ - public static void setDictCache(String key, List<SysDictData> dictDatas) - { - SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); - } - - /** - * 鑾峰彇瀛楀吀缂撳瓨 - * - * @param key 鍙傛暟閿� - * @return dictDatas 瀛楀吀鏁版嵁鍒楄〃 - */ - public static List<SysDictData> getDictCache(String key) - { - Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); - if (Validator.isNotNull(cacheObj)) - { - List<SysDictData> dictDatas = (List<SysDictData>)cacheObj; - return dictDatas; - } - return null; - } - - /** - * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛� - * - * @param dictType 瀛楀吀绫诲瀷 - * @param dictValue 瀛楀吀鍊� - * @return 瀛楀吀鏍囩 - */ - public static String getDictLabel(String dictType, String dictValue) - { - return getDictLabel(dictType, dictValue, SEPARATOR); - } - - /** - * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿�� - * - * @param dictType 瀛楀吀绫诲瀷 - * @param dictLabel 瀛楀吀鏍囩 - * @return 瀛楀吀鍊� - */ - public static String getDictValue(String dictType, String dictLabel) - { - return getDictValue(dictType, dictLabel, SEPARATOR); - } - - /** - * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛� - * - * @param dictType 瀛楀吀绫诲瀷 - * @param dictValue 瀛楀吀鍊� - * @param separator 鍒嗛殧绗� - * @return 瀛楀吀鏍囩 - */ - public static String getDictLabel(String dictType, String dictValue, String separator) - { - StringBuilder propertyString = new StringBuilder(); - List<SysDictData> datas = getDictCache(dictType); - - if (StrUtil.containsAny(dictValue, separator) && CollUtil.isNotEmpty(datas)) - { - for (SysDictData dict : datas) - { - for (String value : dictValue.split(separator)) - { - if (value.equals(dict.getDictValue())) - { - propertyString.append(dict.getDictLabel() + separator); - break; - } - } - } - } - else - { - for (SysDictData dict : datas) - { - if (dictValue.equals(dict.getDictValue())) - { - return dict.getDictLabel(); - } - } - } - return StrUtil.strip(propertyString.toString(), null, separator); - } - - /** - * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿�� - * - * @param dictType 瀛楀吀绫诲瀷 - * @param dictLabel 瀛楀吀鏍囩 - * @param separator 鍒嗛殧绗� - * @return 瀛楀吀鍊� - */ - public static String getDictValue(String dictType, String dictLabel, String separator) - { - StringBuilder propertyString = new StringBuilder(); - List<SysDictData> datas = getDictCache(dictType); - - if (StrUtil.containsAny(dictLabel, separator) && CollUtil.isNotEmpty(datas)) - { - for (SysDictData dict : datas) - { - for (String label : dictLabel.split(separator)) - { - if (label.equals(dict.getDictLabel())) - { - propertyString.append(dict.getDictValue() + separator); - break; - } - } - } - } - else - { - for (SysDictData dict : datas) - { - if (dictLabel.equals(dict.getDictLabel())) - { - return dict.getDictValue(); - } - } - } - return StrUtil.strip(propertyString.toString(), null, separator); - } - - /** - * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨 - * - * @param key 瀛楀吀閿� - */ - public static void removeDictCache(String key) - { - SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key)); - } - - /** - * 娓呯┖瀛楀吀缂撳瓨 - */ - public static void clearDictCache() - { - Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*"); - SpringUtils.getBean(RedisCache.class).deleteObject(keys); - } - - /** - * 璁剧疆cache key - * - * @param configKey 鍙傛暟閿� - * @return 缂撳瓨閿甼ey - */ - public static String getCacheKey(String configKey) - { - return Constants.SYS_DICT_KEY + configKey; - } -} +package com.ruoyi.common.utils; + +import cn.hutool.core.collection.CollUtil; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.spring.SpringUtils; + +import java.util.Collection; +import java.util.List; + +/** + * 瀛楀吀宸ュ叿绫� + * + * @author ruoyi + */ +public class DictUtils +{ + /** + * 鍒嗛殧绗� + */ + public static final String SEPARATOR = ","; + + /** + * 璁剧疆瀛楀吀缂撳瓨 + * + * @param key 鍙傛暟閿� + * @param dictDatas 瀛楀吀鏁版嵁鍒楄〃 + */ + public static void setDictCache(String key, List<SysDictData> dictDatas) + { + SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); + } + + /** + * 鑾峰彇瀛楀吀缂撳瓨 + * + * @param key 鍙傛暟閿� + * @return dictDatas 瀛楀吀鏁版嵁鍒楄〃 + */ + public static List<SysDictData> getDictCache(String key) + { + Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(cacheObj)) + { + List<SysDictData> dictDatas = (List<SysDictData>)cacheObj; + return dictDatas; + } + return null; + } + + /** + * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛� + * + * @param dictType 瀛楀吀绫诲瀷 + * @param dictValue 瀛楀吀鍊� + * @return 瀛楀吀鏍囩 + */ + public static String getDictLabel(String dictType, String dictValue) + { + return getDictLabel(dictType, dictValue, SEPARATOR); + } + + /** + * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿�� + * + * @param dictType 瀛楀吀绫诲瀷 + * @param dictLabel 瀛楀吀鏍囩 + * @return 瀛楀吀鍊� + */ + public static String getDictValue(String dictType, String dictLabel) + { + return getDictValue(dictType, dictLabel, SEPARATOR); + } + + /** + * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛� + * + * @param dictType 瀛楀吀绫诲瀷 + * @param dictValue 瀛楀吀鍊� + * @param separator 鍒嗛殧绗� + * @return 瀛楀吀鏍囩 + */ + public static String getDictLabel(String dictType, String dictValue, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List<SysDictData> datas = getDictCache(dictType); + + if (StringUtils.containsAny(dictValue, separator) && CollUtil.isNotEmpty(datas)) + { + for (SysDictData dict : datas) + { + for (String value : dictValue.split(separator)) + { + if (value.equals(dict.getDictValue())) + { + propertyString.append(dict.getDictLabel() + separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictValue.equals(dict.getDictValue())) + { + return dict.getDictLabel(); + } + } + } + return StringUtils.strip(propertyString.toString(), null, separator); + } + + /** + * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿�� + * + * @param dictType 瀛楀吀绫诲瀷 + * @param dictLabel 瀛楀吀鏍囩 + * @param separator 鍒嗛殧绗� + * @return 瀛楀吀鍊� + */ + public static String getDictValue(String dictType, String dictLabel, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List<SysDictData> datas = getDictCache(dictType); + + if (StringUtils.containsAny(dictLabel, separator) && CollUtil.isNotEmpty(datas)) + { + for (SysDictData dict : datas) + { + for (String label : dictLabel.split(separator)) + { + if (label.equals(dict.getDictLabel())) + { + propertyString.append(dict.getDictValue() + separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictLabel.equals(dict.getDictLabel())) + { + return dict.getDictValue(); + } + } + } + return StringUtils.strip(propertyString.toString(), null, separator); + } + + /** + * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨 + * + * @param key 瀛楀吀閿� + */ + public static void removeDictCache(String key) + { + SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key)); + } + + /** + * 娓呯┖瀛楀吀缂撳瓨 + */ + public static void clearDictCache() + { + Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*"); + SpringUtils.getBean(RedisCache.class).deleteObject(keys); + } + + /** + * 璁剧疆cache key + * + * @param configKey 鍙傛暟閿� + * @return 缂撳瓨閿甼ey + */ + public static String getCacheKey(String configKey) + { + return Constants.SYS_DICT_KEY + configKey; + } +} -- Gitblit v1.9.3