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 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 47 default TenantDO selectByName(String name) {
42 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 160 }
161 161  
162 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 164 throw exception(TENANT_NAME_DUPLICATE);
170 165 }
171 166 }
... ...