fix(iam): username重复不抛异常

This commit is contained in:
yjz
2023-11-10 15:54:17 +08:00
parent 556ec2c924
commit 52c202444e
2 changed files with 10 additions and 7 deletions
@@ -110,13 +110,9 @@ public class SyncIamController {
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamUserCreateResponse);
return sendPoEncryptPo;
} catch (DuplicateKeyException duplicateKeyException) {
log.error("数据库值重复:{}", duplicateKeyException.getMessage());
if (userAcceptDto != null) {
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "数据库值重复,请检查工号【" + userAcceptDto.getSrmsUsername() + "】是否异常");
} else {
throw new IamGlobalException(null, "未知异常,请联系管理员");
}
} catch (Exception e) {
log.error("数据库值重复:{}", e.getMessage());
throw new IamGlobalException(null, "未知异常,请联系管理员");
}
}
@@ -216,6 +216,13 @@ public class SyncIamService {
// (TODO 需要根据实际情况再沟通一遍角色怎么自动赋予),需要和角色接口那边沟通,确认具体情况
String selectedRoles = "123"; // 一般用户的角色ID
SysUser userByName = sysUserService.getUserByName(sysUser.getUsername());
if (!Objects.isNull(userByName)){
log.info("数据库值重复{}", userByName.getUsername());
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
iamUserCreateResponse.setMessage("工号【" + userAcceptDto.getSrmsUsername() + "】已存在!");
return iamUserCreateResponse;
}
// 存储到用户表中
long a = System.currentTimeMillis();
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);