【add】查询全部组织id的接口开发完毕

This commit is contained in:
zer0Black
2023-10-12 17:25:51 +08:00
parent 870772750f
commit c77a111f56
4 changed files with 100 additions and 2 deletions
@@ -32,6 +32,7 @@ public class TestClient {
testClient.sendUserUpdate(); // 更新用户接口测试
testClient.sendOrgCreate(); // 组织创建接口测试
testClient.sendQueryAllUserIdsService(); // 查询所有用户ID接口测试
testClient.sendQueryAllOrgIdsService(); // 查询所有组织ID接口测试
}
// 对数据解密
@@ -222,7 +223,32 @@ public class TestClient {
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
String response = HttpUtil.post(url, sendPoDataJson);
System.out.println("查询全部用id接口响应:" + response);
System.out.println("查询全部用id接口响应:" + response);
this.decryptData(response);
}
/**
* 获取全部组织id
*/
private void sendQueryAllOrgIdsService() throws JsonProcessingException {
String url = "http://localhost:8184/laws-sinotruk/sync/iam/QueryAllOrgIdsService";
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
// 加密数据
ObjectMapper objectMapper = new ObjectMapper();
String sendData = objectMapper.writeValueAsString(iamCommonAcceptDto);
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
String response = HttpUtil.post(url, sendPoDataJson);
System.out.println("查询全部组织id接口响应:" + response);
this.decryptData(response);
}
@@ -393,7 +393,7 @@ public class SyncIamController {
}
/**
* 查询全部用id
* 查询全部用id
* @param iamCommon
* @return
* @throws JsonProcessingException
@@ -427,4 +427,39 @@ public class SyncIamController {
return sendPoEncryptPo;
}
/**
* 查询全部组织id
* @param iamCommon
* @return
* @throws JsonProcessingException
*/
@PostMapping({"/QueryAllOrgIdsService"})
public SendPoEncryptPo QueryAllOrgIdsService(@RequestBody AcceptEncryptPo iamCommon) throws JsonProcessingException {
if (iamCommon == null
|| iamCommon.getMessageEncryptTabels() == null
|| iamCommon.getMessageEncryptTabels().getHeader() == null
|| iamCommon.getMessageEncryptTabels().getHeader().getData() == null){
throw new IamGlobalException(null, this.paramNotGetError);
}
// 对核心数据解密
String bodyParam = iamCommon.getMessageEncryptTabels().getHeader().getData();
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
ObjectMapper objectMapper = new ObjectMapper();
IamCommonAcceptDto commonAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamCommonAcceptDto.class);
// 校验身份认证,确保接口正确 必须调用!
this.syncIamService.validateUserAndPwd(commonAcceptDto);
// 处理业务逻辑,封装字段
IamOrgIdListResponse orgIdListResponse = this.syncIamService.getAllOrgIds(commonAcceptDto);
// 处理统一响应PO层,并加密业务字段
MessageHeader acceptMessageHeader = iamCommon.getMessageHeader();
SendPoEncryptPo sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(acceptMessageHeader, orgIdListResponse);
return sendPoEncryptPo;
}
}
@@ -0,0 +1,18 @@
package com.jero.modules.docking.iam.dto.response;
import lombok.Data;
import java.util.List;
/**
* 组织机构创建的响应体
*/
@Data
public class IamOrgIdListResponse extends IamCommonResponseDto{
/**
* 用户创建后生成的id
*/
private List<String> orgIdList;
}
@@ -923,4 +923,23 @@ public class SyncIamService {
return iamUserIdListResponse;
}
/**
* 返回全部组织的id
* @return
*/
public IamOrgIdListResponse getAllOrgIds(IamCommonAcceptDto commonAcceptDto){
QueryWrapper<SysDepart> departQueryWrapper = new QueryWrapper<SysDepart>();
departQueryWrapper.select("id");
// 获取全部用户的id,得到一个String的list
List<String> departIds = this.sysDepartService.list(departQueryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList());
IamOrgIdListResponse iamOrgIdListResponse = new IamOrgIdListResponse();
iamOrgIdListResponse.setOrgIdList(departIds);
iamOrgIdListResponse.setBimRequestId(commonAcceptDto.getBimRequestId());
iamOrgIdListResponse.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
iamOrgIdListResponse.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
return iamOrgIdListResponse;
}
}