From 210570c0056c46c35bdd349a2fac558441f86f3b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 30 三月 2023 17:36:09 +0800
Subject: [PATCH] update 优化 !pr317 代码结构
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java | 64 ++++++++++++++-----------------
1 files changed, 29 insertions(+), 35 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
index fe97a9e..7031f71 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
@@ -1,6 +1,5 @@
package com.ruoyi.system.service.impl;
-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;
@@ -8,17 +7,18 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.CacheNames;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
-import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.MapstructUtils;
+import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.json.utils.JsonUtils;
import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.oss.constant.OssConstant;
-import com.ruoyi.common.oss.factory.OssFactory;
import com.ruoyi.common.redis.utils.CacheUtils;
import com.ruoyi.common.redis.utils.RedisUtils;
+import com.ruoyi.common.tenant.core.TenantEntity;
+import com.ruoyi.common.tenant.helper.TenantHelper;
import com.ruoyi.system.domain.SysOssConfig;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo;
@@ -26,12 +26,12 @@
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;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
/**
* 瀵硅薄瀛樺偍閰嶇疆Service涓氬姟灞傚鐞�
@@ -52,17 +52,23 @@
*/
@Override
public void init() {
- List<SysOssConfig> list = baseMapper.selectList();
- // 鍔犺浇OSS鍒濆鍖栭厤缃�
- for (SysOssConfig config : list) {
- String configKey = config.getConfigKey();
- if ("0".equals(config.getStatus())) {
- RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);
+ TenantHelper.enableIgnore();
+ List<SysOssConfig> list = baseMapper.selectList(
+ new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantEntity::getTenantId));
+ TenantHelper.disableIgnore();
+ Map<String, List<SysOssConfig>> map = StreamUtils.groupByKey(list, SysOssConfig::getTenantId);
+ for (String tenantId : map.keySet()) {
+ TenantHelper.setDynamic(tenantId);
+ // 鍔犺浇OSS鍒濆鍖栭厤缃�
+ for (SysOssConfig config : map.get(tenantId)) {
+ String configKey = config.getConfigKey();
+ if ("0".equals(config.getStatus())) {
+ RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);
+ }
+ CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
}
- SpringUtils.context().publishEvent(config);
}
- // 鍒濆鍖朞SS宸ュ巶
- OssFactory.init();
+ TenantHelper.clearDynamic();
}
@Override
@@ -88,18 +94,18 @@
@Override
public Boolean insertByBo(SysOssConfigBo bo) {
- SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class);
+ SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class);
validEntityBeforeSave(config);
boolean flag = baseMapper.insert(config) > 0;
if (flag) {
- SpringUtils.context().publishEvent(config);
+ CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
}
return flag;
}
@Override
public Boolean updateByBo(SysOssConfigBo bo) {
- SysOssConfig config = BeanUtil.toBean(bo, SysOssConfig.class);
+ SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class);
validEntityBeforeSave(config);
LambdaUpdateWrapper<SysOssConfig> luw = new LambdaUpdateWrapper<>();
luw.set(ObjectUtil.isNull(config.getPrefix()), SysOssConfig::getPrefix, "");
@@ -109,7 +115,7 @@
luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId());
boolean flag = baseMapper.update(config, luw) > 0;
if (flag) {
- SpringUtils.context().publishEvent(config);
+ CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
}
return flag;
}
@@ -119,7 +125,7 @@
*/
private void validEntityBeforeSave(SysOssConfig entity) {
if (StringUtils.isNotEmpty(entity.getConfigKey())
- && UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) {
+ && !checkConfigKeyUnique(entity)) {
throw new ServiceException("鎿嶄綔閰嶇疆'" + entity.getConfigKey() + "'澶辫触, 閰嶇疆key宸插瓨鍦�!");
}
}
@@ -147,15 +153,15 @@
/**
* 鍒ゆ柇configKey鏄惁鍞竴
*/
- private String checkConfigKeyUnique(SysOssConfig sysOssConfig) {
+ private boolean checkConfigKeyUnique(SysOssConfig sysOssConfig) {
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 false;
}
- return UserConstants.UNIQUE;
+ return true;
}
/**
@@ -164,7 +170,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int updateOssConfigStatus(SysOssConfigBo bo) {
- SysOssConfig sysOssConfig = BeanUtil.toBean(bo, SysOssConfig.class);
+ SysOssConfig sysOssConfig = MapstructUtils.convert(bo, SysOssConfig.class);
int row = baseMapper.update(null, new LambdaUpdateWrapper<SysOssConfig>()
.set(SysOssConfig::getStatus, "1"));
row += baseMapper.updateById(sysOssConfig);
@@ -174,16 +180,4 @@
return row;
}
- /**
- * 鏇存柊閰嶇疆缂撳瓨
- *
- * @param config 閰嶇疆
- */
- @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