1. (common) CacheNames 增加缓存组名称常量 ;
[fix]:
2. (common) 缓存工具类 CacheUtils - 修正 CacheUtils#get 方法错误返回值 ;
[refactor]:
1. (system, oss) 重构OSS配置服务, OSS工厂, RedisUtils 缓存操作替换为 CacheUtils ;
This commit is contained in:
zlyx 2022-08-13 16:34:32 +08:00
parent 21c6a3b14f
commit a23bf68bc6
4 changed files with 18 additions and 22 deletions

View File

@ -26,8 +26,13 @@ public interface CacheNames {
String SYS_CONFIG = "sys_config"; String SYS_CONFIG = "sys_config";
/** /**
* 系统字典 * 数据字典
*/ */
String SYS_DICT = "sys_dict"; String SYS_DICT = "sys_dict";
/**
* OSS配置
*/
String SYS_OSS_CONFIG = "sys_oss_config";
} }

View File

@ -24,7 +24,7 @@ public class CacheUtils {
* @param key 缓存key * @param key 缓存key
*/ */
public static Object get(String cacheNames, Object key) { public static Object get(String cacheNames, Object key) {
return CACHE_MANAGER.getCache(cacheNames).get(key); return CACHE_MANAGER.getCache(cacheNames).get(key).get();
} }
/** /**

View File

@ -1,7 +1,9 @@
package com.ruoyi.oss.factory; package com.ruoyi.oss.factory;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.cache.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.core.OssClient; import com.ruoyi.oss.core.OssClient;
@ -42,7 +44,7 @@ public class OssFactory {
*/ */
public static OssClient instance() { public static OssClient instance() {
// 获取redis 默认类型 // 获取redis 默认类型
String configKey = RedisUtils.getCacheObject(OssConstant.CACHE_CONFIG_KEY); String configKey = (String) CacheUtils.get(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY);
if (StringUtils.isEmpty(configKey)) { if (StringUtils.isEmpty(configKey)) {
throw new OssException("文件存储服务类型无法找到!"); throw new OssException("文件存储服务类型无法找到!");
} }
@ -62,7 +64,7 @@ public class OssFactory {
} }
private static void refresh(String configKey) { private static void refresh(String configKey) {
Object json = RedisUtils.getCacheObject(OssConstant.SYS_OSS_KEY + configKey); Object json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey);
OssProperties properties = JsonUtils.parseObject(json.toString(), OssProperties.class); OssProperties properties = JsonUtils.parseObject(json.toString(), OssProperties.class);
if (properties == null) { if (properties == null) {
throw new OssException("系统异常, '" + configKey + "'配置信息不存在!"); throw new OssException("系统异常, '" + configKey + "'配置信息不存在!");

View File

@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.cache.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils; import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.factory.OssFactory; import com.ruoyi.oss.factory.OssFactory;
@ -53,7 +55,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
for (SysOssConfig config : list) { for (SysOssConfig config : list) {
String configKey = config.getConfigKey(); String configKey = config.getConfigKey();
if ("0".equals(config.getStatus())) { if ("0".equals(config.getStatus())) {
RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, configKey); CacheUtils.put(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY, configKey);
} }
setConfigCache(true, config); setConfigCache(true, config);
} }
@ -126,9 +128,8 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
} }
boolean flag = baseMapper.deleteBatchIds(ids) > 0; boolean flag = baseMapper.deleteBatchIds(ids) > 0;
if (flag) { if (flag) {
list.forEach(sysOssConfig -> { list.forEach(sysOssConfig ->
RedisUtils.deleteObject(getCacheKey(sysOssConfig.getConfigKey())); CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey()));
});
} }
return flag; return flag;
} }
@ -158,21 +159,11 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
.set(SysOssConfig::getStatus, "1")); .set(SysOssConfig::getStatus, "1"));
row += baseMapper.updateById(sysOssConfig); row += baseMapper.updateById(sysOssConfig);
if (row > 0) { if (row > 0) {
RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey()); CacheUtils.put(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY, sysOssConfig.getConfigKey());
} }
return row; return row;
} }
/**
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
*/
private String getCacheKey(String configKey) {
return OssConstant.SYS_OSS_KEY + configKey;
}
/** /**
* 如果操作成功 则更新缓存 * 如果操作成功 则更新缓存
* *
@ -182,9 +173,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
*/ */
private boolean setConfigCache(boolean flag, SysOssConfig config) { private boolean setConfigCache(boolean flag, SysOssConfig config) {
if (flag) { if (flag) {
RedisUtils.setCacheObject( CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
getCacheKey(config.getConfigKey()),
JsonUtils.toJsonString(config));
RedisUtils.publish(OssConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> { RedisUtils.publish(OssConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> {
log.info("发布刷新OSS配置 => " + msg); log.info("发布刷新OSS配置 => " + msg);
}); });