Просмотр исходного кода

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

shizhong 2 лет назад
Родитель
Сommit
92cf4b9e63

+ 6 - 0
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> {
                 .orderByDesc(TenantDO::getId));
     }
 
+    default Long selectCountByName(String name, Long id) {
+        return selectCount(new LambdaQueryWrapperX<TenantDO>()
+                .eqIfPresent(TenantDO::getName, name)
+                .neIfPresent(TenantDO::getId, id));
+    }
+
     default TenantDO selectByName(String name) {
         return selectOne(TenantDO::getName, name);
     }

+ 1 - 6
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<TenantDO> 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);
         }
     }