From 1eaea5c81c46bee8b0f29f06fcb19836dea2cd93 Mon Sep 17 00:00:00 2001 From: liyang <liyang1987jay@163.com> Date: 星期四, 14 十月 2021 21:26:03 +0800 Subject: [PATCH] 修改oss配置删除时删除缓存bug --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java | 43 ++++++++++++++++++++++++++++--------------- 1 files changed, 28 insertions(+), 15 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java index 5a6e8de..c71c65d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java @@ -5,14 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.collect.Lists; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.common.utils.RedisUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.oss.constant.CloudConstant; import com.ruoyi.system.domain.SysOssConfig; @@ -21,6 +22,7 @@ import com.ruoyi.system.mapper.SysOssConfigMapper; import com.ruoyi.system.service.ISysOssConfigService; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,17 +32,16 @@ import java.util.List; /** - * 浜戝瓨鍌ㄩ厤缃甋ervice涓氬姟灞傚鐞� + * 瀵硅薄瀛樺偍閰嶇疆Service涓氬姟灞傚鐞� * * @author Lion Li * @author 瀛よ垷鐑熼洦 * @date 2021-08-13 */ +@Slf4j @RequiredArgsConstructor(onConstructor_ = @Autowired) @Service public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper, SysOssConfig, SysOssConfigVo> implements ISysOssConfigService { - - private final RedisCache redisCache; /** * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨锛屽姞杞介厤缃被 @@ -51,7 +52,7 @@ for (SysOssConfig config : list) { String configKey = config.getConfigKey(); if ("0".equals(config.getStatus())) { - redisCache.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, configKey); + RedisUtils.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, configKey); } setConfigCache(true, config); } @@ -88,7 +89,12 @@ public Boolean updateByBo(SysOssConfigBo bo) { SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(config); - return setConfigCache(updateById(config), config); + LambdaUpdateWrapper<SysOssConfig> luw = new LambdaUpdateWrapper<>(); + luw.set(StringUtils.isBlank(config.getPrefix()), SysOssConfig::getPrefix, ""); + luw.set(StringUtils.isBlank(config.getRegion()), SysOssConfig::getRegion, ""); + luw.set(StringUtils.isBlank(config.getExt1()), SysOssConfig::getExt1, ""); + luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId()); + return setConfigCache(update(config, luw), config); } /** @@ -108,14 +114,18 @@ throw new ServiceException("绯荤粺鍐呯疆, 涓嶅彲鍒犻櫎!"); } } + List<SysOssConfig> list = Lists.newArrayList(); + for (Long configId : ids) { + SysOssConfig config = getById(configId); + list.add(config); + } boolean flag = removeByIds(ids); - if (flag) { - for (Long configId : ids) { - SysOssConfig config = getById(configId); - redisCache.deleteObject(getCacheKey(config.getConfigKey())); - } - } - return flag; + if (flag) { + list.stream().forEach(sysOssConfig -> { + RedisUtils.deleteObject(getCacheKey(sysOssConfig.getConfigKey())); + }); + } + return flag; } /** @@ -143,7 +153,7 @@ .set(SysOssConfig::getStatus, "1")); row += baseMapper.updateById(sysOssConfig); if (row > 0) { - redisCache.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey()); + RedisUtils.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey()); } return row; } @@ -166,9 +176,12 @@ */ private boolean setConfigCache(boolean flag, SysOssConfig config) { if (flag) { - redisCache.setCacheObject( + RedisUtils.setCacheObject( getCacheKey(config.getConfigKey()), JsonUtils.toJsonString(config)); + RedisUtils.publish(CloudConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> { + log.info("鍙戝竷鍒锋柊OSS閰嶇疆 => " + msg); + }); } return flag; } -- Gitblit v1.9.3