From 0ec6fbd34ca4633a415e17ee50450f12e815a4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 13 Mar 2023 23:29:05 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E8=A2=AB=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E7=99=BB=E5=BD=95=E8=B6=85=E7=AE=A1=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/web/service/SysLoginService.java | 4 ++++ .../controller/system/SysTenantController.java | 2 ++ .../com/ruoyi/system/service/ISysTenantService.java | 5 +++++ .../system/service/impl/SysTenantServiceImpl.java | 12 ++++++++++++ 4 files changed, 23 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java index c8357cc5d..fece94287 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java @@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.GlobalConstants; +import com.ruoyi.common.core.constant.TenantConstants; import com.ruoyi.common.core.domain.dto.RoleDTO; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.XcxLoginUser; @@ -325,6 +326,9 @@ public class SysLoginService { if (!TenantHelper.isEnable()) { return; } + if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { + return; + } SysTenantVo tenant = tenantService.queryByTenantId(tenantId); if (ObjectUtil.isNull(tenant)) { log.info("登录租户:{} 不存在.", tenantId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java index d626fe6d5..4a3cf03b2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java @@ -104,6 +104,7 @@ public class SysTenantController extends BaseController { @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) { + sysTenantService.checkTenantAllowed(bo.getTenantId()); if (!sysTenantService.checkCompanyNameUnique(bo)) { throw new ServiceException("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在"); } @@ -118,6 +119,7 @@ public class SysTenantController extends BaseController { @Log(title = "租户", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public R changeStatus(@RequestBody SysTenantBo bo) { + sysTenantService.checkTenantAllowed(bo.getTenantId()); return toAjax(sysTenantService.updateTenantStatus(bo)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java index c501d6d1c..5cef03386 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java @@ -50,6 +50,11 @@ public interface ISysTenantService { */ int updateTenantStatus(SysTenantBo bo); + /** + * 校验租户是否允许操作 + */ + void checkTenantAllowed(String tenantId); + /** * 校验并批量删除租户信息 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java index 872111180..da71f8986 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java @@ -271,6 +271,18 @@ public class SysTenantServiceImpl implements ISysTenantService { return baseMapper.updateById(tenant); } + /** + * 校验租户是否允许操作 + * + * @param tenantId 租户ID + */ + @Override + public void checkTenantAllowed(String tenantId) { + if (ObjectUtil.isNotNull(tenantId) && TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { + throw new ServiceException("不允许操作管理租户"); + } + } + /** * 批量删除租户 */