From 7d1c53f92738166c1ced1a796e2bc95d26d35fa0 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 18 一月 2023 11:59:32 +0800 Subject: [PATCH] update 优化 修改 oss 配置页面开关说明 避免造成误解 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java | 74 +++++++++++++++++------------------- 1 files changed, 35 insertions(+), 39 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 7700acf..d626924 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 @@ -2,18 +2,21 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; 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.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.common.collect.Lists; +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.exception.ServiceException; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.redis.CacheUtils; import com.ruoyi.common.utils.redis.RedisUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.factory.OssFactory; import com.ruoyi.system.domain.SysOssConfig; @@ -23,6 +26,7 @@ import com.ruoyi.system.service.ISysOssConfigService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -53,16 +57,16 @@ for (SysOssConfig config : list) { String configKey = config.getConfigKey(); if ("0".equals(config.getStatus())) { - RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, configKey); + RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey); } - setConfigCache(true, config); + SpringUtils.context().publishEvent(config); } // 鍒濆鍖朞SS宸ュ巶 OssFactory.init(); } @Override - public SysOssConfigVo queryById(Integer ossConfigId) { + public SysOssConfigVo queryById(Long ossConfigId) { return baseMapper.selectVoById(ossConfigId); } @@ -86,7 +90,11 @@ public Boolean insertByBo(SysOssConfigBo bo) { SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(config); - return setConfigCache(baseMapper.insert(config) > 0, config); + boolean flag = baseMapper.insert(config) > 0; + if (flag) { + SpringUtils.context().publishEvent(config); + } + return flag; } @Override @@ -94,11 +102,16 @@ SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(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.set(ObjectUtil.isNull(config.getPrefix()), SysOssConfig::getPrefix, ""); + luw.set(ObjectUtil.isNull(config.getRegion()), SysOssConfig::getRegion, ""); + luw.set(ObjectUtil.isNull(config.getExt1()), SysOssConfig::getExt1, ""); + luw.set(ObjectUtil.isNull(config.getRemark()), SysOssConfig::getRemark, ""); luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId()); - return setConfigCache(baseMapper.update(config, luw) > 0, config); + boolean flag = baseMapper.update(config, luw) > 0; + if (flag) { + SpringUtils.context().publishEvent(config); + } + return flag; } /** @@ -118,16 +131,15 @@ throw new ServiceException("绯荤粺鍐呯疆, 涓嶅彲鍒犻櫎!"); } } - List<SysOssConfig> list = Lists.newArrayList(); + List<SysOssConfig> list = CollUtil.newArrayList(); for (Long configId : ids) { SysOssConfig config = baseMapper.selectById(configId); list.add(config); } boolean flag = baseMapper.deleteBatchIds(ids) > 0; if (flag) { - list.stream().forEach(sysOssConfig -> { - RedisUtils.deleteObject(getCacheKey(sysOssConfig.getConfigKey())); - }); + list.forEach(sysOssConfig -> + CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey())); } return flag; } @@ -136,11 +148,11 @@ * 鍒ゆ柇configKey鏄惁鍞竴 */ private String checkConfigKeyUnique(SysOssConfig sysOssConfig) { - long ossConfigId = StringUtils.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId(); + long ossConfigId = ObjectUtil.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId(); SysOssConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysOssConfig>() .select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey) .eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey())); - if (StringUtils.isNotNull(info) && info.getOssConfigId() != ossConfigId) { + if (ObjectUtil.isNotNull(info) && info.getOssConfigId() != ossConfigId) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -157,37 +169,21 @@ .set(SysOssConfig::getStatus, "1")); row += baseMapper.updateById(sysOssConfig); if (row > 0) { - RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey()); + RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, sysOssConfig.getConfigKey()); } return row; } /** - * 璁剧疆cache key + * 鏇存柊閰嶇疆缂撳瓨 * - * @param configKey 鍙傛暟閿� - * @return 缂撳瓨閿甼ey - */ - private String getCacheKey(String configKey) { - return OssConstant.SYS_OSS_KEY + configKey; - } - - /** - * 濡傛灉鎿嶄綔鎴愬姛 鍒欐洿鏂扮紦瀛� - * - * @param flag 鎿嶄綔鐘舵�� * @param config 閰嶇疆 - * @return 杩斿洖鎿嶄綔鐘舵�� */ - private boolean setConfigCache(boolean flag, SysOssConfig config) { - if (flag) { - RedisUtils.setCacheObject( - getCacheKey(config.getConfigKey()), - JsonUtils.toJsonString(config)); - RedisUtils.publish(OssConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> { - log.info("鍙戝竷鍒锋柊OSS閰嶇疆 => " + msg); - }); - } - return flag; + @EventListener + public void updateConfigCache(SysOssConfig config) { + CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); + RedisUtils.publish(OssConstant.DEFAULT_CONFIG_KEY, config.getConfigKey(), msg -> { + log.info("鍙戝竷鍒锋柊OSS閰嶇疆 => " + msg); + }); } } -- Gitblit v1.9.3