fix(iam): 用户接口异常捕获
This commit is contained in:
+20
@@ -2,6 +2,7 @@ package com.jero.modules.system.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.aliyun.oss.ServiceException;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@@ -469,6 +470,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
//step.1 保存用户
|
//step.1 保存用户
|
||||||
// 对手机号、邮箱进行加密处理
|
// 对手机号、邮箱进行加密处理
|
||||||
this.proceedUserInfoEncrypt(user);
|
this.proceedUserInfoEncrypt(user);
|
||||||
|
// 唯一性校验
|
||||||
|
this.uniqueCheckout(user);
|
||||||
this.save(user);
|
this.save(user);
|
||||||
//step.2 保存角色
|
//step.2 保存角色
|
||||||
if(oConvertUtils.isNotEmpty(selectedRoles)) {
|
if(oConvertUtils.isNotEmpty(selectedRoles)) {
|
||||||
@@ -488,6 +491,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void uniqueCheckout(SysUser user) {
|
||||||
|
// 账号唯一性校验
|
||||||
|
if (StringUtils.isNotBlank(user.getUsername())) {
|
||||||
|
Integer count = userMapper.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, user.getUsername()));
|
||||||
|
if (count > 0) {
|
||||||
|
throw new ServiceException("工号【" + user.getUsername() + "】已存在!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 手机号唯一校验
|
||||||
|
if (StringUtils.isNotBlank(user.getPhone())) {
|
||||||
|
Integer count = userMapper.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhone, user.getPhone()));
|
||||||
|
if (count > 0) {
|
||||||
|
throw new ServiceException("电话【" + PasswordUtil.decrypt(user.getPhone()) + "】已存在!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Remarks: 对手机号、邮箱进行加密处理
|
* @Remarks: 对手机号、邮箱进行加密处理
|
||||||
**/
|
**/
|
||||||
|
|||||||
+5
-5
@@ -28,7 +28,7 @@ public class TestClient {
|
|||||||
public static void main(String[] args) throws JsonProcessingException {
|
public static void main(String[] args) throws JsonProcessingException {
|
||||||
TestClient testClient = new TestClient();
|
TestClient testClient = new TestClient();
|
||||||
// testClient.sendSchemaService(); // 字段映射接口测试
|
// testClient.sendSchemaService(); // 字段映射接口测试
|
||||||
for (int i = 0; i < 100; i++) {
|
for (int i = 0; i < 1; i++) {
|
||||||
System.out.println(i);
|
System.out.println(i);
|
||||||
testClient.sendUserCreate(i);
|
testClient.sendUserCreate(i);
|
||||||
}
|
}
|
||||||
@@ -112,7 +112,7 @@ public class TestClient {
|
|||||||
iamUserAcceptDto.setSrmsCompanyCode("123");
|
iamUserAcceptDto.setSrmsCompanyCode("123");
|
||||||
iamUserAcceptDto.setSrmsOrgCode("123/321");
|
iamUserAcceptDto.setSrmsOrgCode("123/321");
|
||||||
iamUserAcceptDto.setSrmsTypeId("001");
|
iamUserAcceptDto.setSrmsTypeId("001");
|
||||||
iamUserAcceptDto.setSrmsUsername((1000 + i) +"");
|
iamUserAcceptDto.setSrmsUsername((108088 + i) +"");
|
||||||
iamUserAcceptDto.setSrmsRealname("测试" + i);
|
iamUserAcceptDto.setSrmsRealname("测试" + i);
|
||||||
iamUserAcceptDto.setSrmsPassword("1qaz@WSX");
|
iamUserAcceptDto.setSrmsPassword("1qaz@WSX");
|
||||||
iamUserAcceptDto.setSrmsSex("1"); // 男
|
iamUserAcceptDto.setSrmsSex("1"); // 男
|
||||||
@@ -122,7 +122,7 @@ public class TestClient {
|
|||||||
iamUserAcceptDto.setSrmsPostStatus("1"); // 在岗,srms不解析,直接存
|
iamUserAcceptDto.setSrmsPostStatus("1"); // 在岗,srms不解析,直接存
|
||||||
iamUserAcceptDto.setSrmsStatus("1"); // 1在册,0离职
|
iamUserAcceptDto.setSrmsStatus("1"); // 1在册,0离职
|
||||||
iamUserAcceptDto.setSrmsOfficePhone("022-87648762");
|
iamUserAcceptDto.setSrmsOfficePhone("022-87648762");
|
||||||
// iamUserAcceptDto.setSrmsPhone("13811112222");
|
iamUserAcceptDto.setSrmsPhone("13811112232");
|
||||||
iamUserAcceptDto.setSrmsEmail("test@sinotruk.com");
|
iamUserAcceptDto.setSrmsEmail("test@sinotruk.com");
|
||||||
iamUserAcceptDto.setSrmsCreateTime("2023-10-15 10:35:20");
|
iamUserAcceptDto.setSrmsCreateTime("2023-10-15 10:35:20");
|
||||||
|
|
||||||
@@ -140,8 +140,8 @@ public class TestClient {
|
|||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
// String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService";
|
String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService";
|
||||||
String url = "laws-test.sinotruk.com/laws-sinotruk/sync/iam/UserCreateService";
|
// String url = "laws-test.sinotruk.com/laws-sinotruk/sync/iam/UserCreateService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, sendPoDataJson);
|
||||||
System.out.println("用户创建接口响应:" + response);
|
System.out.println("用户创建接口响应:" + response);
|
||||||
}
|
}
|
||||||
|
|||||||
+80
-50
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.docking.iam.controller;
|
package com.jero.modules.docking.iam.controller;
|
||||||
|
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
|
import com.aliyun.oss.ServiceException;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -85,6 +86,8 @@ public class SyncIamController {
|
|||||||
public SendPoEncryptPo userCreateService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
public SendPoEncryptPo userCreateService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
||||||
log.info("进入账号创建");
|
log.info("进入账号创建");
|
||||||
IamUserAcceptDto userAcceptDto = null;
|
IamUserAcceptDto userAcceptDto = null;
|
||||||
|
IamUserCreateResponse iamUserCreateResponse = new IamUserCreateResponse();
|
||||||
|
SendPoEncryptPo sendPoEncryptPo = new SendPoEncryptPo();
|
||||||
try {
|
try {
|
||||||
if (iamUserInfo == null
|
if (iamUserInfo == null
|
||||||
|| iamUserInfo.getMessageEncryptTabels() == null
|
|| iamUserInfo.getMessageEncryptTabels() == null
|
||||||
@@ -102,75 +105,102 @@ public class SyncIamController {
|
|||||||
|
|
||||||
// 校验身份认证,确保接口正确 必须调用!
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
iamUserCreateResponse.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
// 处理业务逻辑,存储用户,返回用户id
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
IamUserCreateResponse iamUserCreateResponse = this.syncIamService.userCreateService(userAcceptDto);
|
iamUserCreateResponse = this.syncIamService.userCreateService(userAcceptDto);
|
||||||
|
} catch (ServiceException e) {
|
||||||
// 处理统一响应PO层,并加密业务字段
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
String message = e.getErrorMessage();
|
||||||
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamUserCreateResponse);
|
iamUserCreateResponse.setMessage(message);
|
||||||
return sendPoEncryptPo;
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
} catch (Exception e) {
|
}catch (Exception e){
|
||||||
log.error("数据库值重复:{}", e.getMessage());
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
throw new IamGlobalException(null, "未知异常,请联系管理员");
|
iamUserCreateResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
}
|
}
|
||||||
|
// 处理统一响应PO层,并加密业务字段
|
||||||
|
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamUserCreateResponse);
|
||||||
|
return sendPoEncryptPo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping({"/UserUpdateService"})
|
@PostMapping({"/UserUpdateService"})
|
||||||
public SendPoEncryptPo userUpdateService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
public SendPoEncryptPo userUpdateService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
||||||
if (iamUserInfo == null
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|| iamUserInfo.getMessageEncryptTabels() == null
|
try {
|
||||||
|| iamUserInfo.getMessageEncryptTabels().getHeader() == null
|
if (iamUserInfo == null
|
||||||
|| iamUserInfo.getMessageEncryptTabels().getHeader().getData() == null){
|
|| iamUserInfo.getMessageEncryptTabels() == null
|
||||||
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
|| iamUserInfo.getMessageEncryptTabels().getHeader() == null
|
||||||
|
|| iamUserInfo.getMessageEncryptTabels().getHeader().getData() == null){
|
||||||
|
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对核心数据解密
|
||||||
|
String bodyParam = iamUserInfo.getMessageEncryptTabels().getHeader().getData();
|
||||||
|
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
||||||
|
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
IamUserAcceptDto userAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamUserAcceptDto.class);
|
||||||
|
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamCommonResponseDto = this.syncIamService.userUpdateService(userAcceptDto);
|
||||||
|
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
|
}catch (IamGlobalException e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
String message = e.getMessage();
|
||||||
|
iamCommonResponseDto.setMessage(message);
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
|
}catch (Exception e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对核心数据解密
|
|
||||||
String bodyParam = iamUserInfo.getMessageEncryptTabels().getHeader().getData();
|
|
||||||
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
IamUserAcceptDto userAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamUserAcceptDto.class);
|
|
||||||
|
|
||||||
// 校验身份认证,确保接口正确 必须调用!
|
|
||||||
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
|
||||||
|
|
||||||
// 处理业务逻辑,存储用户,返回用户id
|
|
||||||
IamCommonResponseDto iamCommonResponseDto = this.syncIamService.userUpdateService(userAcceptDto);
|
|
||||||
|
|
||||||
// 处理统一响应PO层,并加密业务字段
|
// 处理统一响应PO层,并加密业务字段
|
||||||
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
||||||
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamCommonResponseDto);
|
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamCommonResponseDto);
|
||||||
|
|
||||||
return sendPoEncryptPo;
|
return sendPoEncryptPo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping({"/UserDeleteService"})
|
@PostMapping({"/UserDeleteService"})
|
||||||
public SendPoEncryptPo userDeleteService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
public SendPoEncryptPo userDeleteService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
|
||||||
if (iamUserInfo == null
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|| iamUserInfo.getMessageEncryptTabels() == null
|
try {
|
||||||
|| iamUserInfo.getMessageEncryptTabels().getHeader() == null
|
if (iamUserInfo == null
|
||||||
|| iamUserInfo.getMessageEncryptTabels().getHeader().getData() == null){
|
|| iamUserInfo.getMessageEncryptTabels() == null
|
||||||
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
|| iamUserInfo.getMessageEncryptTabels().getHeader() == null
|
||||||
|
|| iamUserInfo.getMessageEncryptTabels().getHeader().getData() == null){
|
||||||
|
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对核心数据解密
|
||||||
|
String bodyParam = iamUserInfo.getMessageEncryptTabels().getHeader().getData();
|
||||||
|
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
||||||
|
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
IamUserAcceptDto userAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamUserAcceptDto.class);
|
||||||
|
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamCommonResponseDto = this.syncIamService.userDeleteService(userAcceptDto);
|
||||||
|
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
|
}catch (IamGlobalException e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
String message = e.getMessage();
|
||||||
|
iamCommonResponseDto.setMessage(message);
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
|
}catch (Exception e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对核心数据解密
|
|
||||||
String bodyParam = iamUserInfo.getMessageEncryptTabels().getHeader().getData();
|
|
||||||
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
IamUserAcceptDto userAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamUserAcceptDto.class);
|
|
||||||
|
|
||||||
// 校验身份认证,确保接口正确 必须调用!
|
|
||||||
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
|
||||||
|
|
||||||
// 处理业务逻辑,存储用户,返回用户id
|
|
||||||
IamCommonResponseDto iamCommonResponseDto = this.syncIamService.userDeleteService(userAcceptDto);
|
|
||||||
|
|
||||||
// 处理统一响应PO层,并加密业务字段
|
// 处理统一响应PO层,并加密业务字段
|
||||||
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
||||||
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamCommonResponseDto);
|
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamCommonResponseDto);
|
||||||
|
|
||||||
return sendPoEncryptPo;
|
return sendPoEncryptPo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
-8
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.bamboocloud.codec.BamboocloudFacade;
|
import com.bamboocloud.codec.BamboocloudFacade;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -32,6 +33,7 @@ import com.jero.modules.docking.utils.DockingConstant;
|
|||||||
import com.jero.modules.system.entity.*;
|
import com.jero.modules.system.entity.*;
|
||||||
import com.jero.modules.system.service.*;
|
import com.jero.modules.system.service.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -215,14 +217,6 @@ public class SyncIamService {
|
|||||||
// 获取角色(多个逗号分隔),针对大部分角用户默认写死一般用户
|
// 获取角色(多个逗号分隔),针对大部分角用户默认写死一般用户
|
||||||
// (TODO 需要根据实际情况再沟通一遍角色怎么自动赋予),需要和角色接口那边沟通,确认具体情况
|
// (TODO 需要根据实际情况再沟通一遍角色怎么自动赋予),需要和角色接口那边沟通,确认具体情况
|
||||||
String selectedRoles = "123"; // 一般用户的角色ID
|
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;
|
|
||||||
}
|
|
||||||
// 存储到用户表中
|
// 存储到用户表中
|
||||||
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
|
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
|
||||||
iamUserCreateResponse.setUid(sysUser.getId());
|
iamUserCreateResponse.setUid(sysUser.getId());
|
||||||
@@ -246,6 +240,15 @@ public class SyncIamService {
|
|||||||
if (sysUser == null){
|
if (sysUser == null){
|
||||||
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "未查询到id为(" + userAcceptDto.getBimUid() + ")用户,无法更新");
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "未查询到id为(" + userAcceptDto.getBimUid() + ")用户,无法更新");
|
||||||
}
|
}
|
||||||
|
// 手机号唯一校验
|
||||||
|
if (StringUtils.isNotBlank(userAcceptDto.getSrmsPhone())){
|
||||||
|
int count = this.sysUserService.count(new LambdaQueryWrapper<SysUser>()
|
||||||
|
.eq(SysUser::getPhone, PasswordUtil.encrypt(userAcceptDto.getSrmsPhone()))
|
||||||
|
.ne(SysUser::getId, userAcceptDto.getBimUid()));
|
||||||
|
if (count > 0){
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "手机号【" + userAcceptDto.getSrmsPhone() + "】已存在!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsUsername())){
|
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsUsername())){
|
||||||
sysUser.setUsername(userAcceptDto.getSrmsUsername());
|
sysUser.setUsername(userAcceptDto.getSrmsUsername());
|
||||||
|
|||||||
Reference in New Issue
Block a user