Commit 92cf4b9e636ba4868d4b0325719607d2da33eebc
1 parent
64cd19f7
租户添加或修改时租户名称改为不可以重复,否则会造成重复名称的租户无法正常登录的问题,按规范优化代码
Showing
2 changed files
with
7 additions
and
6 deletions
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 | } | ... | ... |