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