【add】根据id查用户/根据id查组织接口添加完毕

This commit is contained in:
zer0Black
2023-10-12 17:46:24 +08:00
parent c77a111f56
commit 250cc21358
6 changed files with 146 additions and 4 deletions
@@ -462,4 +462,63 @@ public class SyncIamController {
return sendPoEncryptPo;
}
@PostMapping({"/QueryUserByIdService"})
public SendPoEncryptPo QueryUserByIdService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
if (iamUserInfo == null
|| iamUserInfo.getMessageEncryptTabels() == 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
IamUserInfoResponse iamUserInfoResponse = this.syncIamService.getUserInfoById(userAcceptDto);
// 处理统一响应PO层,并加密业务字段
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamUserInfoResponse);
return sendPoEncryptPo;
}
@PostMapping({"/QueryOrgByIdService"})
public SendPoEncryptPo QueryOrgByIdService(@RequestBody AcceptEncryptPo iamUserInfo) throws JsonProcessingException {
if (iamUserInfo == null
|| iamUserInfo.getMessageEncryptTabels() == 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();
IamOrgAcceptDto orgAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamOrgAcceptDto.class);
// 校验身份认证,确保接口正确 必须调用!
this.syncIamService.validateUserAndPwd(orgAcceptDto);
// 处理业务逻辑,存储用户,返回用户id
IamOrgInfoResponse iamOrgInfoResponse = this.syncIamService.getOrgInfoById(orgAcceptDto);
// 处理统一响应PO层,并加密业务字段
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, iamOrgInfoResponse);
return sendPoEncryptPo;
}
}
@@ -11,6 +11,6 @@ public class IamOrgCreateResponse extends IamCommonResponseDto{
/**
* 用户创建后生成的id
*/
private String orgId;
private String bimOrgId;
}
@@ -0,0 +1,15 @@
package com.jero.modules.docking.iam.dto.response;
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
import lombok.Data;
/**
* 组织机构创建的响应体
*/
@Data
public class IamOrgInfoResponse extends IamCommonResponseDto{
private IamOrgAcceptDto organization;
}
@@ -11,6 +11,6 @@ public class IamUserCreateResponse extends IamCommonResponseDto{
/**
* 用户创建后生成的id
*/
private String uid;
private String bimUid;
}
@@ -0,0 +1,16 @@
package com.jero.modules.docking.iam.dto.response;
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
import lombok.Data;
import java.util.List;
/**
* 组织机构创建的响应体
*/
@Data
public class IamUserInfoResponse extends IamCommonResponseDto{
private IamUserAcceptDto account;
}
@@ -218,7 +218,7 @@ public class SyncIamService {
// 存储到用户表中
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
iamUserCreateResponse.setUid(sysUser.getId());
iamUserCreateResponse.setBimUid(sysUser.getId());
return iamUserCreateResponse;
}
@@ -413,7 +413,7 @@ public class SyncIamService {
// 存储到组织机构表中
this.sysDepartService.save(sysDepart);
iamOrgCreateResponse.setOrgId(sysDepart.getId());
iamOrgCreateResponse.setBimOrgId(sysDepart.getId());
return iamOrgCreateResponse;
}
@@ -942,4 +942,56 @@ public class SyncIamService {
return iamOrgIdListResponse;
}
/**
* 根据id查询用户信息
* @return
*/
public IamUserInfoResponse getUserInfoById(IamUserAcceptDto iamUserAcceptDto){
LoginUser userInfo = sysBaseAPI.getUserById(iamUserAcceptDto.getBimUid());
if (userInfo == null){
throw new IamGlobalException(iamUserAcceptDto.getBimRequestId(), "查询用户不存在");
}
IamUserAcceptDto userAcceptDto = new IamUserAcceptDto();
userAcceptDto.setBimUid(userInfo.getId());
userAcceptDto.setSrmsUsername(userInfo.getUsername());
userAcceptDto.setSrmsRealname(userInfo.getRealname());
userAcceptDto.setSrmsOrgCode(userInfo.getOrgCode());
IamUserInfoResponse iamUserInfoResponse = new IamUserInfoResponse();
iamUserInfoResponse.setAccount(userAcceptDto);
iamUserInfoResponse.setBimRequestId(iamUserAcceptDto.getBimRequestId());
iamUserInfoResponse.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
iamUserInfoResponse.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
return iamUserInfoResponse;
}
/**
* 根据id查询用户信息
* @return
*/
public IamOrgInfoResponse getOrgInfoById(IamOrgAcceptDto iamOrgAcceptDto){
SysDepart sysDepart = this.sysDepartService.getById(iamOrgAcceptDto.getBimOrgId());
if (sysDepart == null){
throw new IamGlobalException(iamOrgAcceptDto.getBimRequestId(), "查询组织不存在");
}
IamOrgAcceptDto orgAcceptDto = new IamOrgAcceptDto();
orgAcceptDto.setBimOrgId(sysDepart.getId());
orgAcceptDto.setSrmsDepartName(sysDepart.getDepartName());
orgAcceptDto.setSrmsParentCode(sysDepart.getParentId());
orgAcceptDto.setBimOrgId(sysDepart.getId());
IamOrgInfoResponse iamOrgInfoResponse = new IamOrgInfoResponse();
iamOrgInfoResponse.setOrganization(orgAcceptDto);
iamOrgInfoResponse.setBimRequestId(iamOrgAcceptDto.getBimRequestId());
iamOrgInfoResponse.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
iamOrgInfoResponse.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
return iamOrgInfoResponse;
}
}