提交 3075f93c authored 作者: junjie's avatar junjie

feat(user):用户ID重复校验fix

上级 8ebb3597
...@@ -19,6 +19,7 @@ import io.dataease.controller.sys.request.SysUserPwdRequest; ...@@ -19,6 +19,7 @@ import io.dataease.controller.sys.request.SysUserPwdRequest;
import io.dataease.controller.sys.request.SysUserStateRequest; import io.dataease.controller.sys.request.SysUserStateRequest;
import io.dataease.controller.sys.response.SysUserGridResponse; import io.dataease.controller.sys.response.SysUserGridResponse;
import io.dataease.controller.sys.response.SysUserRole; import io.dataease.controller.sys.response.SysUserRole;
import io.dataease.i18n.Translator;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -78,6 +79,7 @@ public class SysUserService { ...@@ -78,6 +79,7 @@ public class SysUserService {
@Transactional @Transactional
public int save(SysUserCreateRequest request) { public int save(SysUserCreateRequest request) {
checkUsername(request);
SysUser user = BeanUtils.copyBean(new SysUser(), request); SysUser user = BeanUtils.copyBean(new SysUser(), request);
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
user.setCreateTime(now); user.setCreateTime(now);
...@@ -106,6 +108,7 @@ public class SysUserService { ...@@ -106,6 +108,7 @@ public class SysUserService {
@CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId") @CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId")
@Transactional @Transactional
public int update(SysUserCreateRequest request) { public int update(SysUserCreateRequest request) {
checkUsername(request);
if (StringUtils.isEmpty(request.getPassword())) { if (StringUtils.isEmpty(request.getPassword())) {
request.setPassword(null); request.setPassword(null);
} }
...@@ -235,4 +238,16 @@ public class SysUserService { ...@@ -235,4 +238,16 @@ public class SysUserService {
sysUserMapper.updateByPrimaryKeySelective(sysUser); sysUserMapper.updateByPrimaryKeySelective(sysUser);
} }
private void checkUsername(SysUserCreateRequest request) {
SysUserExample sysUserExample = new SysUserExample();
SysUserExample.Criteria criteria = sysUserExample.createCriteria();
if (request.getUserId() != null) {
criteria.andUserIdNotEqualTo(request.getUserId());
}
criteria.andUsernameEqualTo(request.getUsername());
List<SysUser> sysUsers = sysUserMapper.selectByExample(sysUserExample);
if (CollectionUtils.isNotEmpty(sysUsers)) {
throw new RuntimeException(Translator.get("i18n_username_exists"));
}
}
} }
...@@ -240,4 +240,5 @@ i18n_union_already_exists=Union relation already exists ...@@ -240,4 +240,5 @@ i18n_union_already_exists=Union relation already exists
i18n_union_field_exists=The same field can't in two dataset i18n_union_field_exists=The same field can't in two dataset
i18n_cron_time_error=Start time can't greater then end time i18n_cron_time_error=Start time can't greater then end time
i18n_auth_source_be_canceled=This Auth Resource Already Be Canceled i18n_auth_source_be_canceled=This Auth Resource Already Be Canceled
i18n_username_exists=ID is already exists
...@@ -242,3 +242,4 @@ i18n_union_already_exists=关联关系已存在 ...@@ -242,3 +242,4 @@ i18n_union_already_exists=关联关系已存在
i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段 i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段
i18n_cron_time_error=开始时间不能大于结束时间 i18n_cron_time_error=开始时间不能大于结束时间
i18n_auth_source_be_canceled=当前资源授权权限已经被取消 i18n_auth_source_be_canceled=当前资源授权权限已经被取消
i18n_username_exists=用户ID已存在
...@@ -242,3 +242,4 @@ i18n_union_already_exists=關聯關系已存在 ...@@ -242,3 +242,4 @@ i18n_union_already_exists=關聯關系已存在
i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段 i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段
i18n_cron_time_error=開始時間不能大於結束時間 i18n_cron_time_error=開始時間不能大於結束時間
i18n_auth_source_be_canceled=當前資源授權權限已經被取消 i18n_auth_source_be_canceled=當前資源授權權限已經被取消
i18n_username_exists=用戶ID已存在
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论