diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/client/TestClient.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/client/TestClient.java index 6622f3a2..5985731c 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/client/TestClient.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/client/TestClient.java @@ -8,6 +8,8 @@ import com.jero.common.util.DateUtils; import com.jero.common.util.UUIDGenerator; import com.jero.common.util.UUIDUtils; import com.jero.config.sign.util.HttpUtils; +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.po.AcceptPoSystemPo; import com.jero.modules.docking.iam.po.MessageHeader; @@ -25,8 +27,10 @@ public class TestClient { public static void main(String[] args) throws JsonProcessingException { TestClient testClient = new TestClient(); -// testClient.sendUserCreate(); // 创建用户接口测试 - testClient.sendUserUpdate(); // 更新用户接口测试 +// testClient.sendSchemaService(); // 字段映射接口测试 + testClient.sendUserCreate(); // 创建用户接口测试 +// testClient.sendUserUpdate(); // 更新用户接口测试 + testClient.sendOrgCreate(); // 组织创建接口测试 } /** @@ -59,6 +63,29 @@ public class TestClient { return acceptPoSystemPo; } + /** + * Schema映射获取 + */ + private void sendSchemaService() throws JsonProcessingException { + String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService"; + + 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); + + AcceptPoSystemPo sendPoDataEntity = handlerPoPackage(encryptData); + String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity); + + String response = HttpUtil.post(url, sendPoDataJson); + System.out.println("映射接口响应:" + response); + } + /** * 用户创建测试 */ @@ -106,7 +133,7 @@ public class TestClient { // 发送数据 String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService"; String response = HttpUtil.post(url, sendPoDataJson); - System.out.printf("用户创建接口响应:" + response); + System.out.println("用户创建接口响应:" + response); } /** @@ -136,7 +163,42 @@ public class TestClient { // 发送数据 String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserUpdateService"; String response = HttpUtil.post(url, sendPoDataJson); - System.out.printf("用户创建接口响应:" + response); + System.out.println("用户创建接口响应:" + response); + } + + /** + * 用户创建测试 + */ + private void sendOrgCreate() throws JsonProcessingException { + // 封装 IamUserAcceptDto 为用户数据层 + IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto(); + + iamOrgAcceptDto.setSrmsOrgCode("IA00102"); + iamOrgAcceptDto.setSrmsDepartName("测试IAM部门"); + iamOrgAcceptDto.setSrmsParentCode(""); + iamOrgAcceptDto.setSrmsCompany("测试公司"); + iamOrgAcceptDto.setSrmsStatus("1"); + iamOrgAcceptDto.setSrmsCreateTime("2023-10-12 10:35:20"); + iamOrgAcceptDto.setSrmsType("002"); + iamOrgAcceptDto.setSrmsOrgCategory("2"); + + iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); + iamOrgAcceptDto.setBimRemoteUser("srmsIam"); + iamOrgAcceptDto.setBimRemotePwd("srmsIam2023"); + + // 加密数据 + ObjectMapper objectMapper = new ObjectMapper(); + String sendData = objectMapper.writeValueAsString(iamOrgAcceptDto); + String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE); + + // 封装 AcceptPoSystemPo 为PO层套壳 + AcceptPoSystemPo sendPoDataEntity = handlerPoPackage(encryptData); + String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity); + + // 发送数据 + String url = "http://localhost:8184/laws-sinotruk/sync/iam/OrgCreateService"; + String response = HttpUtil.post(url, sendPoDataJson); + System.out.println("组织创建接口响应:" + response); } } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java index 6397aad6..140e9d8f 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import com.jero.common.constant.CacheConstant; import com.jero.modules.docking.iam.dto.bpmc.*; import com.jero.modules.docking.iam.dto.IamCommonAcceptDto; import com.jero.modules.docking.iam.dto.IamOrgAcceptDto; @@ -20,6 +21,7 @@ import com.jero.modules.docking.utils.DockingConstant; import com.jero.modules.docking.utils.SHA256Util; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -168,7 +170,14 @@ public class SyncIamController { return sendPoSystemPo; } + /** + * 组织创建和更新移除缓存 + * @param iamOrgInfo + * @return + * @throws JsonProcessingException + */ @PostMapping({"/OrgCreateService"}) + @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo iamOrgInfo) throws JsonProcessingException { IamOrgAcceptDto orgAcceptDto = null; try { @@ -206,7 +215,14 @@ public class SyncIamController { } } + /** + * 组织创建和更新移除缓存 + * @param iamOrgInfo + * @return + * @throws JsonProcessingException + */ @PostMapping({"/OrgUpdateService"}) + @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public SendPoSystemPo orgUpdateService(@RequestBody AcceptPoSystemPo iamOrgInfo) throws JsonProcessingException { if (iamOrgInfo == null || iamOrgInfo.getMessageTabels() == null