From ac6fe634dc6db33818c17a76b7271f166b2edeb1 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期二, 21 十一月 2023 14:57:00 +0800
Subject: [PATCH] update 优化 使用动态租户重构业务对租户的逻辑

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java
index 2c4d1ea..df5e23c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java
@@ -6,6 +6,8 @@
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.MapstructUtils;
@@ -24,8 +26,6 @@
 import org.dromara.system.domain.vo.SysOssConfigVo;
 import org.dromara.system.mapper.SysOssConfigMapper;
 import org.dromara.system.service.ISysOssConfigService;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -52,23 +52,23 @@
      */
     @Override
     public void init() {
-        TenantHelper.enableIgnore();
-        List<SysOssConfig> list = baseMapper.selectList(
-                new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantEntity::getTenantId));
-        TenantHelper.disableIgnore();
+        List<SysOssConfig> list = TenantHelper.ignore(() ->
+            baseMapper.selectList(
+                new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantEntity::getTenantId))
+        );
         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);
+            TenantHelper.dynamic(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));
                 }
-                CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
-            }
+            });
         }
-        TenantHelper.clearDynamic();
     }
 
     @Override
@@ -89,6 +89,7 @@
         lqw.eq(StringUtils.isNotBlank(bo.getConfigKey()), SysOssConfig::getConfigKey, bo.getConfigKey());
         lqw.like(StringUtils.isNotBlank(bo.getBucketName()), SysOssConfig::getBucketName, bo.getBucketName());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysOssConfig::getStatus, bo.getStatus());
+        lqw.orderByAsc(SysOssConfig::getOssConfigId);
         return lqw;
     }
 
@@ -98,6 +99,8 @@
         validEntityBeforeSave(config);
         boolean flag = baseMapper.insert(config) > 0;
         if (flag) {
+            // 浠庢暟鎹簱鏌ヨ瀹屾暣鐨勬暟鎹仛缂撳瓨
+            config = baseMapper.selectById(config.getOssConfigId());
             CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
         }
         return flag;
@@ -115,6 +118,8 @@
         luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId());
         boolean flag = baseMapper.update(config, luw) > 0;
         if (flag) {
+            // 浠庢暟鎹簱鏌ヨ瀹屾暣鐨勬暟鎹仛缂撳瓨
+            config = baseMapper.selectById(config.getOssConfigId());
             CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
         }
         return flag;

--
Gitblit v1.9.3