From 5117fe2958a1bcec82e09fce01e49bb0bc2e0ba4 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期三, 14 十二月 2022 15:11:09 +0800 Subject: [PATCH] update 同步 ruoyi 相关提交 * fix 修复 文件名包含特殊字符(+、-、*...)的文件无法下载问题 * update 优化 弹窗内容过多展示不全问题 * update echarts 4.9.0 => 5.4.0 * fix 修复 Vue3树形下拉不能默认选中 * update 优化 删除fuse无效选项maxPatternLength * fix 修复 代码生成图片/文件/单选时选择必填无法校验问题 * fix 修复 修改参数键名时 未移除过期缓存配置 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 60 ++++++++++++++++++++++++------------------------------------ 1 files changed, 24 insertions(+), 36 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index 010c3be..31f4c1d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -5,22 +5,24 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.CacheNames; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.service.ConfigService; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.redis.RedisUtils; +import com.ruoyi.common.utils.redis.CacheUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Collection; import java.util.List; import java.util.Map; @@ -66,16 +68,12 @@ * @param configKey 鍙傛暟key * @return 鍙傛暟閿�� */ + @Cacheable(cacheNames = CacheNames.SYS_CONFIG, key = "#configKey") @Override public String selectConfigByKey(String configKey) { - String configValue = RedisUtils.getCacheObject(getCacheKey(configKey)); - if (StringUtils.isNotEmpty(configValue)) { - return configValue; - } SysConfig retConfig = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>() .eq(SysConfig::getConfigKey, configKey)); if (ObjectUtil.isNotNull(retConfig)) { - RedisUtils.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); return retConfig.getConfigValue(); } return StringUtils.EMPTY; @@ -88,7 +86,7 @@ */ @Override public boolean selectCaptchaEnabled() { - String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); + String captchaEnabled = SpringUtils.getAopProxy(this).selectConfigByKey("sys.account.captchaEnabled"); if (StringUtils.isEmpty(captchaEnabled)) { return true; } @@ -119,13 +117,14 @@ * @param config 鍙傛暟閰嶇疆淇℃伅 * @return 缁撴灉 */ + @CachePut(cacheNames = CacheNames.SYS_CONFIG, key = "#config.configKey") @Override - public int insertConfig(SysConfig config) { + public String insertConfig(SysConfig config) { int row = baseMapper.insert(config); if (row > 0) { - RedisUtils.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + return config.getConfigValue(); } - return row; + throw new ServiceException("鎿嶄綔澶辫触"); } /** @@ -134,8 +133,13 @@ * @param config 鍙傛暟閰嶇疆淇℃伅 * @return 缁撴灉 */ + @CachePut(cacheNames = CacheNames.SYS_CONFIG, key = "#config.configKey") @Override - public int updateConfig(SysConfig config) { + public String updateConfig(SysConfig config) { + SysConfig temp = baseMapper.selectById(config.getConfigId()); + if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) { + CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey()); + } int row = 0; if (config.getConfigId() != null) { row = baseMapper.updateById(config); @@ -144,9 +148,9 @@ .eq(SysConfig::getConfigKey, config.getConfigKey())); } if (row > 0) { - RedisUtils.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + return config.getConfigValue(); } - return row; + throw new ServiceException("鎿嶄綔澶辫触"); } /** @@ -161,7 +165,7 @@ if (StringUtils.equals(UserConstants.YES, config.getConfigType())) { throw new ServiceException(String.format("鍐呯疆鍙傛暟銆�%1$s銆戜笉鑳藉垹闄� ", config.getConfigKey())); } - RedisUtils.deleteObject(getCacheKey(config.getConfigKey())); + CacheUtils.evict(CacheNames.SYS_CONFIG, config.getConfigKey()); } baseMapper.deleteBatchIds(Arrays.asList(configIds)); } @@ -172,9 +176,8 @@ @Override public void loadingConfigCache() { List<SysConfig> configsList = selectConfigList(new SysConfig()); - for (SysConfig config : configsList) { - RedisUtils.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } + configsList.forEach(config -> + CacheUtils.put(CacheNames.SYS_CONFIG, config.getConfigKey(), config.getConfigValue())); } /** @@ -182,8 +185,7 @@ */ @Override public void clearConfigCache() { - Collection<String> keys = RedisUtils.keys(CacheConstants.SYS_CONFIG_KEY + "*"); - RedisUtils.deleteObject(keys); + CacheUtils.clear(CacheNames.SYS_CONFIG); } /** @@ -211,11 +213,6 @@ return UserConstants.UNIQUE; } - @Override - public SysConfig getOne(SysConfig config) { - return baseMapper.selectOne(new LambdaQueryWrapper<>(config)); - } - /** * 鏍规嵁鍙傛暟 key 鑾峰彇鍙傛暟鍊� * @@ -224,16 +221,7 @@ */ @Override public String getConfigValue(String configKey) { - return selectConfigByKey(configKey); + return SpringUtils.getAopProxy(this).selectConfigByKey(configKey); } - /** - * 璁剧疆cache key - * - * @param configKey 鍙傛暟閿� - * @return 缂撳瓨閿甼ey - */ - private String getCacheKey(String configKey) { - return CacheConstants.SYS_CONFIG_KEY + configKey; - } } -- Gitblit v1.9.3