From 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 23 九月 2021 19:13:58 +0800 Subject: [PATCH] update 整合 satoken 权限、鉴权一体化框架 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java | 64 ++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 28 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 49bf1fa..848f4d6 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 @@ -9,19 +9,19 @@ 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.CustomException; +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.oss.factory.OssFactory; import com.ruoyi.system.domain.SysOssConfig; import com.ruoyi.system.domain.bo.SysOssConfigBo; import com.ruoyi.system.domain.vo.SysOssConfigVo; 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; @@ -31,17 +31,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; /** * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧弬鏁板埌缂撳瓨锛屽姞杞介厤缃被 @@ -52,9 +51,9 @@ 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); } - redisCache.setCacheObject(getCacheKey(configKey), JsonUtils.toJsonString(config)); + setConfigCache(true, config); } } @@ -82,27 +81,19 @@ public Boolean insertByBo(SysOssConfigBo bo) { SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(config); - boolean flag = save(config); - if (flag) { - redisCache.setCacheObject( - getCacheKey(config.getConfigKey()), - JsonUtils.toJsonString(config)); - } - return flag; + return setConfigCache(save(config), config); } @Override public Boolean updateByBo(SysOssConfigBo bo) { SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class); validEntityBeforeSave(config); - boolean flag = updateById(config); - if (flag) { - OssFactory.destroy(config.getConfigKey()); - redisCache.setCacheObject( - getCacheKey(config.getConfigKey()), - JsonUtils.toJsonString(config)); - } - return flag; + 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); } /** @@ -111,7 +102,7 @@ private void validEntityBeforeSave(SysOssConfig entity){ if (StringUtils.isNotEmpty(entity.getConfigKey()) && UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) { - throw new CustomException("鎿嶄綔閰嶇疆'" + entity.getConfigKey() + "'澶辫触, 閰嶇疆key宸插瓨鍦�!"); + throw new ServiceException("鎿嶄綔閰嶇疆'" + entity.getConfigKey() + "'澶辫触, 閰嶇疆key宸插瓨鍦�!"); } } @@ -119,15 +110,14 @@ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { if(isValid) { if (CollUtil.containsAny(ids, CloudConstant.SYSTEM_DATA_IDS)) { - throw new CustomException("绯荤粺鍐呯疆, 涓嶅彲鍒犻櫎!"); + throw new ServiceException("绯荤粺鍐呯疆, 涓嶅彲鍒犻櫎!"); } } boolean flag = removeByIds(ids); if (flag) { for (Long configId : ids) { SysOssConfig config = getById(configId); - OssFactory.destroy(config.getConfigKey()); - redisCache.deleteObject(getCacheKey(config.getConfigKey())); + RedisUtils.deleteObject(getCacheKey(config.getConfigKey())); } } return flag; @@ -158,7 +148,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; } @@ -172,4 +162,22 @@ private String getCacheKey(String configKey) { return CloudConstant.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(CloudConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> { + log.info("鍙戝竷鍒锋柊OSS閰嶇疆 => " + msg); + }); + } + return flag; + } } -- Gitblit v1.9.3