From 0ec6fbd34ca4633a415e17ee50450f12e815a4aa Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 13 三月 2023 23:29:05 +0800
Subject: [PATCH] fix 修复 管理租户被修改导致无法登录超管账号问题

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java |   58 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 28 insertions(+), 30 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index 3104e15..80a68a2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -1,6 +1,5 @@
 package com.ruoyi.system.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -9,13 +8,15 @@
 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.service.ConfigService;
+import com.ruoyi.common.core.utils.MapstructUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.mybatis.core.page.PageQuery;
 import com.ruoyi.common.mybatis.core.page.TableDataInfo;
-import com.ruoyi.common.core.service.ConfigService;
-import com.ruoyi.common.core.exception.ServiceException;
-import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.redis.utils.CacheUtils;
-import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.tenant.helper.TenantHelper;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.domain.bo.SysConfigBo;
 import com.ruoyi.system.domain.vo.SysConfigVo;
@@ -78,6 +79,22 @@
     }
 
     /**
+     * 鑾峰彇娉ㄥ唽寮�鍏�
+     * @param tenantId 绉熸埛id
+     * @return true寮�鍚紝false鍏抽棴
+     */
+    @Override
+    public boolean selectRegisterEnabled(String tenantId) {
+        SysConfig retConfig = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>()
+            .eq(SysConfig::getConfigKey, "sys.account.registerUser")
+            .eq(TenantHelper.isEnable(),SysConfig::getTenantId, tenantId));
+        if (ObjectUtil.isNull(retConfig)) {
+            return false;
+        }
+        return Convert.toBool(retConfig.getConfigValue());
+    }
+
+    /**
      * 鑾峰彇楠岃瘉鐮佸紑鍏�
      *
      * @return true寮�鍚紝false鍏抽棴
@@ -123,7 +140,7 @@
     @CachePut(cacheNames = CacheNames.SYS_CONFIG, key = "#bo.configKey")
     @Override
     public String insertConfig(SysConfigBo bo) {
-        SysConfig config = BeanUtil.toBean(bo, SysConfig.class);
+        SysConfig config = MapstructUtils.convert(bo, SysConfig.class);
         int row = baseMapper.insert(config);
         if (row > 0) {
             return config.getConfigValue();
@@ -141,7 +158,7 @@
     @Override
     public String updateConfig(SysConfigBo bo) {
         int row = 0;
-        SysConfig config = BeanUtil.toBean(bo, SysConfig.class);
+        SysConfig config = MapstructUtils.convert(bo, SysConfig.class);
         if (config.getConfigId() != null) {
             SysConfig temp = baseMapper.selectById(config.getConfigId());
             if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) {
@@ -176,30 +193,11 @@
     }
 
     /**
-     * 鍔犺浇鍙傛暟缂撳瓨鏁版嵁
-     */
-    @Override
-    public void loadingConfigCache() {
-        List<SysConfigVo> configsList = selectConfigList(new SysConfigBo());
-        configsList.forEach(config ->
-            CacheUtils.put(CacheNames.SYS_CONFIG, config.getConfigKey(), config.getConfigValue()));
-    }
-
-    /**
-     * 娓呯┖鍙傛暟缂撳瓨鏁版嵁
-     */
-    @Override
-    public void clearConfigCache() {
-        CacheUtils.clear(CacheNames.SYS_CONFIG);
-    }
-
-    /**
      * 閲嶇疆鍙傛暟缂撳瓨鏁版嵁
      */
     @Override
     public void resetConfigCache() {
-        clearConfigCache();
-        loadingConfigCache();
+        CacheUtils.clear(CacheNames.SYS_CONFIG);
     }
 
     /**
@@ -209,13 +207,13 @@
      * @return 缁撴灉
      */
     @Override
-    public String checkConfigKeyUnique(SysConfigBo config) {
+    public boolean checkConfigKeyUnique(SysConfigBo config) {
         long configId = ObjectUtil.isNull(config.getConfigId()) ? -1L : config.getConfigId();
         SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>().eq(SysConfig::getConfigKey, config.getConfigKey()));
         if (ObjectUtil.isNotNull(info) && info.getConfigId() != configId) {
-            return UserConstants.NOT_UNIQUE;
+            return false;
         }
-        return UserConstants.UNIQUE;
+        return true;
     }
 
     /**

--
Gitblit v1.9.3