Commit 92cf4b9e636ba4868d4b0325719607d2da33eebc

Authored by shizhong
1 parent 64cd19f7

租户添加或修改时租户名称改为不可以重复,否则会造成重复名称的租户无法正常登录的问题,按规范优化代码

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<TenantDO> { @@ -38,6 +38,12 @@ public interface TenantMapper extends BaseMapperX<TenantDO> {
38 .orderByDesc(TenantDO::getId)); 38 .orderByDesc(TenantDO::getId));
39 } 39 }
40 40
  41 + default Long selectCountByName(String name, Long id) {
  42 + return selectCount(new LambdaQueryWrapperX<TenantDO>()
  43 + .eqIfPresent(TenantDO::getName, name)
  44 + .neIfPresent(TenantDO::getId, id));
  45 + }
  46 +
41 default TenantDO selectByName(String name) { 47 default TenantDO selectByName(String name) {
42 return selectOne(TenantDO::getName, name); 48 return selectOne(TenantDO::getName, name);
43 } 49 }
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 { @@ -160,12 +160,7 @@ public class TenantServiceImpl implements TenantService {
160 } 160 }
161 161
162 protected void validTenantName(String tenantName, Long id) { 162 protected void validTenantName(String tenantName, Long id) {
163 - LambdaQueryWrapper<TenantDO> wrapper = new LambdaQueryWrapper<>();  
164 - wrapper.eq(TenantDO::getName, tenantName);  
165 - if (id != null) {  
166 - wrapper.ne(TenantDO::getId, id);  
167 - }  
168 - if (tenantMapper.selectCount(wrapper) > 0) { 163 + if (tenantMapper.selectCountByName(tenantName, id) > 0) {
169 throw exception(TENANT_NAME_DUPLICATE); 164 throw exception(TENANT_NAME_DUPLICATE);
170 } 165 }
171 } 166 }