From 92cf4b9e636ba4868d4b0325719607d2da33eebc Mon Sep 17 00:00:00 2001 From: shizhong <124974919@qq.com> Date: Mon, 3 Apr 2023 12:55:06 +0800 Subject: [PATCH] 租户添加或修改时租户名称改为不可以重复,否则会造成重复名称的租户无法正常登录的问题,按规范优化代码 --- yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java | 6 ++++++ yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java | 7 +------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java index 8731e46..92a0f99 100755 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.java @@ -38,6 +38,12 @@ public interface TenantMapper extends BaseMapperX { .orderByDesc(TenantDO::getId)); } + default Long selectCountByName(String name, Long id) { + return selectCount(new LambdaQueryWrapperX() + .eqIfPresent(TenantDO::getName, name) + .neIfPresent(TenantDO::getId, id)); + } + default TenantDO selectByName(String name) { return selectOne(TenantDO::getName, name); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java index 5df583b..ad1fa18 100755 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java @@ -160,12 +160,7 @@ public class TenantServiceImpl implements TenantService { } protected void validTenantName(String tenantName, Long id) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TenantDO::getName, tenantName); - if (id != null) { - wrapper.ne(TenantDO::getId, id); - } - if (tenantMapper.selectCount(wrapper) > 0) { + if (tenantMapper.selectCountByName(tenantName, id) > 0) { throw exception(TENANT_NAME_DUPLICATE); } } -- libgit2 0.21.4