租户添加或修改时租户名称改为不可以重复,否则会造成重复名称的租户无法正常登录的问题,按规范优化代码
parent
64cd19f7db
commit
92cf4b9e63
|
@ -38,6 +38,12 @@ public interface TenantMapper extends BaseMapperX<TenantDO> {
|
||||||
.orderByDesc(TenantDO::getId));
|
.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) {
|
default TenantDO selectByName(String name) {
|
||||||
return selectOne(TenantDO::getName, name);
|
return selectOne(TenantDO::getName, name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,12 +160,7 @@ public class TenantServiceImpl implements TenantService {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void validTenantName(String tenantName, Long id) {
|
protected void validTenantName(String tenantName, Long id) {
|
||||||
LambdaQueryWrapper<TenantDO> wrapper = new LambdaQueryWrapper<>();
|
if (tenantMapper.selectCountByName(tenantName, id) > 0) {
|
||||||
wrapper.eq(TenantDO::getName, tenantName);
|
|
||||||
if (id != null) {
|
|
||||||
wrapper.ne(TenantDO::getId, id);
|
|
||||||
}
|
|
||||||
if (tenantMapper.selectCount(wrapper) > 0) {
|
|
||||||
throw exception(TENANT_NAME_DUPLICATE);
|
throw exception(TENANT_NAME_DUPLICATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue