【修改】统一返回接口的错误参数处理

【添加】添加用户接口处理完表层工作,核心转换和存储待处理
This commit is contained in:
zer0Black
2023-10-01 14:22:46 +08:00
parent e6bc8fcc4d
commit 23e010ad13
2 changed files with 27 additions and 3 deletions
@@ -6,6 +6,7 @@ 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.IamSchemaResponse;
import com.jero.modules.docking.iam.dto.response.IamUserCreateResponse;
import com.jero.modules.docking.iam.exception.IamGlobalException;
import com.jero.modules.docking.iam.po.AcceptPoSystemPo;
import com.jero.modules.docking.iam.po.MessageHeader;
@@ -62,8 +63,31 @@ public class SyncIamController {
}
@PostMapping({"/UserCreateService"})
public SendPoSystemPo userCreateService(@RequestBody AcceptPoSystemPo<IamUserAcceptDto> iamUserInfo) {
public SendPoSystemPo userCreateService(@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);
// TODO 处理业务逻辑,存储用户,返回用户id
IamUserCreateResponse iamUserCreateResponse = new IamUserCreateResponse();
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
// 处理统一响应PO层,并加密业务字段
MessageHeader acceptMessageHeader = iamUserInfo.getMessageHeader();
sendPoSystemPo = this.syncIamService.handlerGloablResponse(acceptMessageHeader, iamUserCreateResponse);
return sendPoSystemPo;
}
@@ -113,7 +113,7 @@ public class SyncIamService {
* @return
* @throws JsonProcessingException
*/
public SendPoSystemPo handlerGloablResponse(MessageHeader acceptMessageHeader, IamSchemaResponse iamSchemaResponse) throws JsonProcessingException {
public SendPoSystemPo handlerGloablResponse(MessageHeader acceptMessageHeader, Object object) throws JsonProcessingException {
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
@@ -129,7 +129,7 @@ public class SyncIamService {
sendMessageHeader.setSendTime(DateUtils.formatDate(curDate, "hhmmss"));
ObjectMapper objectMapper = new ObjectMapper();
String returnData = objectMapper.writeValueAsString(iamSchemaResponse);
String returnData = objectMapper.writeValueAsString(object);
// 加密PO层外的业务数据
String encryptData = BamboocloudFacade.encrypt(returnData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);