【添加】添加用户编辑接口逻辑
This commit is contained in:
+30
-7
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
||||
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
||||
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
|
||||
import com.jero.modules.docking.iam.dto.response.IamCommonResponseDto;
|
||||
import com.jero.modules.docking.iam.dto.response.IamSchemaResponse;
|
||||
import com.jero.modules.docking.iam.dto.response.IamUserCreateResponse;
|
||||
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
||||
@@ -34,7 +35,7 @@ public class SyncIamController {
|
||||
private SyncIamService syncIamService;
|
||||
|
||||
@PostMapping({"/SchemaService"})
|
||||
public SendPoSystemPo SchemaService(@RequestBody AcceptPoSystemPo<IamCommonAcceptDto> iamCommon) throws JsonProcessingException {
|
||||
public SendPoSystemPo schemaService(@RequestBody AcceptPoSystemPo<IamCommonAcceptDto> iamCommon) throws JsonProcessingException {
|
||||
if (iamCommon == null
|
||||
|| iamCommon.getMessageTabels() == null
|
||||
|| iamCommon.getMessageTabels().getHeader() == null
|
||||
@@ -92,35 +93,57 @@ public class SyncIamController {
|
||||
}
|
||||
|
||||
@PostMapping({"/UserUpdateService"})
|
||||
public SendPoSystemPo UserUpdateService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamUserInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
public SendPoSystemPo userUpdateService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamUserInfo) throws JsonProcessingException {
|
||||
if (iamUserInfo == null
|
||||
|| iamUserInfo.getMessageTabels() == null
|
||||
|| iamUserInfo.getMessageTabels().getHeader() == null
|
||||
|| iamUserInfo.getMessageTabels().getHeader().getData() == null){
|
||||
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
||||
}
|
||||
|
||||
// 对核心数据解密
|
||||
String bodyParam = iamUserInfo.getMessageTabels().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层,并加密业务字段
|
||||
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
|
||||
SendPoSystemPo sendPoSystemPo = this.syncIamService.handlerGloablResponse(acceptMessageHeader, iamCommonResponseDto);
|
||||
|
||||
return sendPoSystemPo;
|
||||
}
|
||||
|
||||
@PostMapping({"/UserDeleteService"})
|
||||
public SendPoSystemPo UserDeleteService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamUserInfo) {
|
||||
public SendPoSystemPo userDeleteService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamUserInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
|
||||
return sendPoSystemPo;
|
||||
}
|
||||
|
||||
@PostMapping({"/OrgCreateService"})
|
||||
public SendPoSystemPo OrgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) {
|
||||
public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
|
||||
return sendPoSystemPo;
|
||||
}
|
||||
|
||||
@PostMapping({"/OrgUpdateService"})
|
||||
public SendPoSystemPo OrgUpdateService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamOrgInfo) {
|
||||
public SendPoSystemPo orgUpdateService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamOrgInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
|
||||
return sendPoSystemPo;
|
||||
}
|
||||
|
||||
@PostMapping({"/OrgDeleteService"})
|
||||
public SendPoSystemPo OrgDeleteService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamOrgInfo) {
|
||||
public SendPoSystemPo orgDeleteService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamOrgInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
|
||||
return sendPoSystemPo;
|
||||
|
||||
+150
-1
@@ -209,6 +209,156 @@ public class SyncIamService {
|
||||
return iamUserCreateResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据传过来看的bimUid标识用户的唯一id,取出后修改新传递的字符串
|
||||
* @param userAcceptDto
|
||||
* @return
|
||||
*/
|
||||
public IamCommonResponseDto userUpdateService(IamUserAcceptDto userAcceptDto){
|
||||
if (userAcceptDto == null || StrUtil.isEmpty(userAcceptDto.getBimUid())){
|
||||
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "用户id(bimUid)为空,无法进行用户信息更新");
|
||||
}
|
||||
|
||||
// 取出对应的SysUser数据,将iam的数据全部抓取进行判空赋值后存入
|
||||
SysUser sysUser = this.sysUserService.getById(userAcceptDto.getBimUid());
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsUsername())){
|
||||
sysUser.setUsername(userAcceptDto.getSrmsUsername());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsRealname())){
|
||||
sysUser.setRealname(userAcceptDto.getSrmsRealname());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsSex()) && NumberUtil.isInteger(userAcceptDto.getSrmsSex())){
|
||||
sysUser.setSex(Integer.valueOf(userAcceptDto.getSrmsSex()));
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsEmail())){
|
||||
sysUser.setEmail(userAcceptDto.getSrmsEmail());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsPhone())){
|
||||
sysUser.setPhone(userAcceptDto.getSrmsPhone());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsStatus())){
|
||||
if ("1".equals(userAcceptDto.getSrmsStatus())){
|
||||
sysUser.setStatus(CommonConstant.USER_UNFREEZE);
|
||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_0);
|
||||
} else {
|
||||
sysUser.setStatus(CommonConstant.USER_FREEZE);
|
||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_1);
|
||||
}
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsOfficePhone())){
|
||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
||||
}
|
||||
|
||||
sysUser.setUpdateBy("IAM");
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
||||
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||
sysUser.setCreateTime(updateTime);
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsTypeId())){
|
||||
sysUser.setTypeId(userAcceptDto.getSrmsTypeId());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsPost())){
|
||||
sysUser.setPost(userAcceptDto.getSrmsPost());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsDutyLevelId())){
|
||||
sysUser.setDutyLevelId(userAcceptDto.getSrmsDutyLevelId());
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsRace())){
|
||||
sysUser.setRace(userAcceptDto.getSrmsRace());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsPostSequence())){
|
||||
sysUser.setPostSequence(userAcceptDto.getSrmsPostSequence());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsTechnicalPosition())){
|
||||
sysUser.setTechnicalPosition(userAcceptDto.getSrmsTechnicalPosition());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsDirectLeadership())){
|
||||
sysUser.setDirectLeadership(userAcceptDto.getSrmsDirectLeadership());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsPostStatus())){
|
||||
sysUser.setPostStatus(userAcceptDto.getSrmsPostStatus());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsIdNumber())){
|
||||
sysUser.setIdNumber(userAcceptDto.getSrmsIdNumber());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsEducation())){
|
||||
sysUser.setEducation(userAcceptDto.getSrmsEducation());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsDepartmentBeforeTransfer())){
|
||||
sysUser.setDepartmentBeforeTransfer(userAcceptDto.getSrmsDepartmentBeforeTransfer());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsLaborDispatchCode())){
|
||||
sysUser.setLaborDispatchCode(userAcceptDto.getSrmsLaborDispatchCode());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsLaborDispatchName())){
|
||||
sysUser.setLaborDispatchName(userAcceptDto.getSrmsLaborDispatchName());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsProfessionalQualification())){
|
||||
sysUser.setProfessionalQualification(userAcceptDto.getSrmsProfessionalQualification());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsProfessionalLevel())){
|
||||
sysUser.setProfessionalLevel(userAcceptDto.getSrmsProfessionalLevel());
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsEntryTime())){
|
||||
sysUser.setEntryTime(userAcceptDto.getSrmsEntryTime());
|
||||
}
|
||||
|
||||
// 获取组织机构(多个逗号分隔),TODO 有两个和组织关联在字段,用哪个还需要再和IAM沟通
|
||||
String companyCode = userAcceptDto.getSrmsCompanyCode();
|
||||
String orgCode = userAcceptDto.getSrmsOrgCode();
|
||||
|
||||
String selectedDeparts = null;
|
||||
if (StrUtil.isNotEmpty(orgCode)){
|
||||
selectedDeparts = orgCode;
|
||||
}
|
||||
|
||||
// 编辑存储到用户表中,角色是系统自己处理的,更新不会影响角色,所以不传
|
||||
this.sysUserService.editUser(sysUser, null, selectedDeparts);
|
||||
|
||||
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||
iamCommonResponseDto.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
||||
iamCommonResponseDto.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
||||
|
||||
return iamCommonResponseDto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理统一响应PO层,并加密业务字段
|
||||
* @param acceptMessageHeader
|
||||
@@ -219,7 +369,6 @@ public class SyncIamService {
|
||||
public SendPoSystemPo handlerGloablResponse(MessageHeader acceptMessageHeader, Object object) throws JsonProcessingException {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
|
||||
|
||||
MessageHeader sendMessageHeader = new MessageHeader();
|
||||
sendMessageHeader.setInterfaceID(acceptMessageHeader.getInterfaceID());
|
||||
sendMessageHeader.setUUID(UUIDGenerator.generate());
|
||||
|
||||
Reference in New Issue
Block a user