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 | 104 +++++++++++++++++++++++++--------------------------- 1 files changed, 50 insertions(+), 54 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 3ab123a..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,19 +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.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.JsonUtils; -import com.ruoyi.common.utils.redis.RedisUtils; 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; @@ -24,7 +26,7 @@ import com.ruoyi.system.service.ISysOssConfigService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,37 +41,39 @@ * @date 2021-08-13 */ @Slf4j -@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RequiredArgsConstructor @Service -public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper, SysOssConfig, SysOssConfigVo> implements ISysOssConfigService { +public class SysOssConfigServiceImpl implements ISysOssConfigService { + + private final SysOssConfigMapper baseMapper; /** * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨锛屽姞杞介厤缃被 */ @Override public void init() { - List<SysOssConfig> list = list(); + List<SysOssConfig> list = baseMapper.selectList(); // 鍔犺浇OSS鍒濆鍖栭厤缃� 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) { - return getVoById(ossConfigId); + public SysOssConfigVo queryById(Long ossConfigId) { + return baseMapper.selectVoById(ossConfigId); } @Override public TableDataInfo<SysOssConfigVo> queryPageList(SysOssConfigBo bo, PageQuery pageQuery) { LambdaQueryWrapper<SysOssConfig> lqw = buildQueryWrapper(bo); - Page<SysOssConfigVo> result = pageVo(pageQuery.build(), lqw); + Page<SysOssConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -86,7 +90,11 @@ public Boolean insertByBo(SysOssConfigBo bo) { SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(config); - return setConfigCache(save(config), 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(update(config, luw), config); + boolean flag = baseMapper.update(config, luw) > 0; + if (flag) { + SpringUtils.context().publishEvent(config); + } + return flag; } /** @@ -106,7 +119,7 @@ */ private void validEntityBeforeSave(SysOssConfig entity) { if (StringUtils.isNotEmpty(entity.getConfigKey()) - && UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) { + && UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) { throw new ServiceException("鎿嶄綔閰嶇疆'" + entity.getConfigKey() + "'澶辫触, 閰嶇疆key宸插瓨鍦�!"); } } @@ -118,16 +131,15 @@ throw new ServiceException("绯荤粺鍐呯疆, 涓嶅彲鍒犻櫎!"); } } - List<SysOssConfig> list = Lists.newArrayList(); + List<SysOssConfig> list = CollUtil.newArrayList(); for (Long configId : ids) { - SysOssConfig config = getById(configId); + SysOssConfig config = baseMapper.selectById(configId); list.add(config); } - boolean flag = removeByIds(ids); + 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(); - SysOssConfig info = getOne(new LambdaQueryWrapper<SysOssConfig>() - .select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey) - .eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey())); - if (StringUtils.isNotNull(info) && info.getOssConfigId() != ossConfigId) { + 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 (ObjectUtil.isNotNull(info) && info.getOssConfigId() != ossConfigId) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -154,40 +166,24 @@ public int updateOssConfigStatus(SysOssConfigBo bo) { SysOssConfig sysOssConfig = BeanUtil.toBean(bo, SysOssConfig.class); int row = baseMapper.update(null, new LambdaUpdateWrapper<SysOssConfig>() - .set(SysOssConfig::getStatus, "1")); + .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