feat: 用户管理姓名字段增加重复验证

This commit is contained in:
fit2cloud-chenyw 2021-11-01 14:29:26 +08:00
parent ca34067728
commit 2395741707
6 changed files with 23 additions and 5 deletions

View File

@ -73,7 +73,7 @@ public class AuthServer implements AuthApi {
ldapAddRequest.setEnabled(1L);
// ldapAddRequest.setDeptId(1L);
ldapAddRequest.setRoleIds(new ArrayList<Long>(){{add(2L);}});
sysUserService.validateExistUser(ldapUserEntity.getUsername(), ldapUserEntity.getEmail());
sysUserService.validateExistUser(ldapUserEntity.getUsername(), ldapUserEntity.getNickname(), ldapUserEntity.getEmail());
sysUserService.saveLdapUsers(ldapAddRequest);
}

View File

@ -68,7 +68,7 @@ public class SSOServer {
SysUserEntity sysUserEntity = authUserService.getUserBySub(ssoUserInfo.getSub());
if(null == sysUserEntity){
sysUserService.validateExistUser(ssoUserInfo.getUsername(), ssoUserInfo.getEmail());
sysUserService.validateExistUser(ssoUserInfo.getUsername(), ssoUserInfo.getNickName(), ssoUserInfo.getEmail());
sysUserService.saveOIDCUser(ssoUserInfo);
sysUserEntity = authUserService.getUserBySub(ssoUserInfo.getSub());
}

View File

@ -87,6 +87,7 @@ public class SysUserService {
public int save(SysUserCreateRequest request) {
checkUsername(request);
checkEmail(request);
checkNickName(request);
SysUser user = BeanUtils.copyBean(new SysUser(), request);
long now = System.currentTimeMillis();
user.setCreateTime(now);
@ -183,6 +184,7 @@ public class SysUserService {
public int update(SysUserCreateRequest request) {
checkUsername(request);
checkEmail(request);
checkNickName(request);
if (StringUtils.isEmpty(request.getPassword())) {
request.setPassword(null);
}
@ -300,7 +302,7 @@ public class SysUserService {
return null;
}
public void validateExistUser(String userName, String email) {
public void validateExistUser(String userName, String nickName, String email) {
SysUserExample example = new SysUserExample();
if (StringUtils.isNotBlank(userName)) {
example.createCriteria().andUsernameEqualTo(userName);
@ -310,13 +312,13 @@ public class SysUserService {
}
}
/* if (StringUtils.isNotBlank(nickName)) {
if (StringUtils.isNotBlank(nickName)) {
example.createCriteria().andNickNameEqualTo(nickName);
List<SysUser> users = sysUserMapper.selectByExample(example);
if(CollectionUtils.isNotEmpty(users)) {
throw new RuntimeException("用户姓名【"+nickName+"】已存在,请联系管理员");
}
} */
}
example.clear();
if (StringUtils.isNotBlank(email)) {
example.createCriteria().andEmailEqualTo(email);
@ -366,5 +368,18 @@ public class SysUserService {
}
}
private void checkNickName(SysUserCreateRequest request) {
SysUserExample sysUserExample = new SysUserExample();
SysUserExample.Criteria criteria = sysUserExample.createCriteria();
if (request.getUserId() != null) {
criteria.andUserIdNotEqualTo(request.getUserId());
}
criteria.andNickNameEqualTo(request.getNickName());
List<SysUser> sysUsers = sysUserMapper.selectByExample(sysUserExample);
if (CollectionUtils.isNotEmpty(sysUsers)) {
throw new RuntimeException(Translator.get("i18n_nickname_exists"));
}
}
}

View File

@ -244,6 +244,7 @@ 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_auth_source_be_canceled=This Auth Resource Already Be Canceled,Please Connect Admin
i18n_username_exists=ID is already exists
i18n_nickname_exists=NickName is already exists
i18n_email_exists=Email is already exists
i18n_ds_name_exists=Datasource name used
i18n_sync_job_exists=There is already a synchronization task running, please try again later

View File

@ -243,6 +243,7 @@ i18n_union_field_exists=两个数据集之间关联不能出现多次相同字
i18n_cron_time_error=开始时间不能大于结束时间
i18n_auth_source_be_canceled=本用户当前资源所有授权权限已经被取消,如需再次开通,请联系管理员
i18n_username_exists=用户 ID 已存在
i18n_nickname_exists=用户 姓名 已存在
i18n_email_exists=邮箱已存在
i18n_ds_name_exists=数据源名称已被使用
i18n_sync_job_exists=已经有同步任务在运行,稍后重试

View File

@ -246,6 +246,7 @@ i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字
i18n_cron_time_error=開始時間不能大於結束時間
i18n_auth_source_be_canceled=本用户当前资源所有授权权限已经被取消,如需再次开通,请联系管理员
i18n_username_exists=用戶ID已存在
i18n_nickname_exists=用戶 姓名 已存在
i18n_email_exists=郵箱已存在
i18n_ds_name_exists=數據源名稱已被使用
i18n_sync_job_exists=已經有同步任務在運行,稍後重試