From 324e60f7bdbdd230c422f28525ac33dfa27e205d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Tue, 6 Aug 2024 10:19:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9iam=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docking/iam/client/TestClient.java | 57 ++++++++++--------- .../controller/SyncIamByCheryController.java | 6 ++ .../docking/iam/service/SyncIamService.java | 8 +++ 3 files changed, 44 insertions(+), 27 deletions(-) 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 4ffecca4..53e2af9d 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 @@ -46,10 +46,10 @@ public class TestClient { // testClient.sendUserCreate(i); // } // 创建用户接口测试 -// testClient.sendUserUpdate(); // 更新用户接口测试 + testClient.sendUserUpdate(); // 更新用户接口测试 // testClient.sendUserDel(); // 更新用户接口测试 // testClient.sendOrgCreate(); // 组织创建接口测试 - testClient.sendOrgUpdate(); // 组织修改接口测试 +// testClient.sendOrgUpdate(); // 组织修改接口测试 // testClient.sendOrgDel(); // 组织删除接口测试 // testClient.sendQueryAllUserIdsService(); // 查询所有用户ID接口测试 // testClient.sendQueryAllOrgIdsService(); // 查询所有组织ID接口测试 @@ -107,8 +107,8 @@ public class TestClient { IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto(); iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamCommonAcceptDto.setBimRemoteUser("srmsIam"); - iamCommonAcceptDto.setBimRemotePwd("srmsIam2023"); + iamCommonAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamCommonAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamCommonAcceptDto); @@ -167,8 +167,8 @@ public class TestClient { iamUserAcceptDto.setSrmsEmail("test@sinotruk.com"); iamUserAcceptDto.setEmployeeNo("1111"); iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamUserAcceptDto.setBimRemoteUser("srmsIam"); - iamUserAcceptDto.setBimRemotePwd("srmsIam2023"); + iamUserAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamUserAcceptDto.setBimRemotePwd("cgrsmsIam2024"); iamUserAcceptDto.setBirthday("2024-05-01"); iamUserAcceptDto.setEntryTime("2024-06-01"); iamUserAcceptDto.setResignationTime("2024-07-01"); @@ -203,16 +203,18 @@ public class TestClient { private void sendUserUpdate() throws JsonProcessingException { // 封装 IamUserAcceptDto 为用户数据层 IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto(); - iamUserAcceptDto.setBimUid("1820381905836400641"); // 数据库中取到的ID + iamUserAcceptDto.setBimUid("1820380981034881025"); // 数据库中取到的ID + iamUserAcceptDto.setSrmsUsername("00234567"); + iamUserAcceptDto.setSrmsRealname("测试用户1"); iamUserAcceptDto.setBirthday("2018-12-05 00:00:00"); iamUserAcceptDto.setBirthday("2024-05-01"); iamUserAcceptDto.setEntryTime("2024-06-01"); iamUserAcceptDto.setResignationTime("2024-07-01"); iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); iamUserAcceptDto.setEmployeeNo("feishuid"); - iamUserAcceptDto.setBimRemoteUser("srmsIam"); - iamUserAcceptDto.setBimRemotePwd("srmsIam2023"); - iamUserAcceptDto.set__ENABLE__(true); + iamUserAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamUserAcceptDto.setBimRemotePwd("cgrsmsIam2024"); +// iamUserAcceptDto.set__ENABLE__(true); StringBuilder sb = getStringBuilder(iamUserAcceptDto); @@ -226,8 +228,9 @@ public class TestClient { //sm4加解密 Sm4Cipher sm4Cipher = new Sm4Cipher(); String source = JSON.toJSONString(iamUserAcceptDto); +// String source = "{\"signature\":\"84ccbb05001d597091cbe9c2490079cf62f65d2746589a6ea1a297de81d8e6a4\",\"bimRequestId\":\"102b3296243344469270adf5905148b0\",\"bimRemotePwd\":\"cgrsmsIam2024\",\"__ENABLE__\":true,\"bimRemoteUser\":\"cgrsmsIam\",\"bimUid\":\"1820380981034881025\"}"; String target = sm4Cipher.encrypt(source, key); - +// String target = "EfSRGBN6BazDJ62gjmZYZhLjFS00Z59e8F6ev0TozIvbOOukUUuGS/t8cY4nPbIfDtzAFQ3hZok/sbJOLM5+kVVrAmtMUCBvV1oBa/r29MmliX34EE0Fiv3A9Jn9UgPYa/ZjonB6s8FuMIOkeuOaaL/uIyTgJGo1FEtFOBJiuHfOhwi6KUMh2M8a2eICbzBqEZgI/eQaAHOHbg7Ucfkh4VaVrZ1EmzM2XMtr+0qPMsqqxVEPR9m4z0fKJJ8C/zrE3yaNvW9Y6mm/uuHalRzkTCbx6W/RDPkHon37y0OLbSsdV2Y21bvPUlmVETy8BIA2wG3E7+KOsgB3YQuXjSIWtv2z+NJ2XOP+W2DURDEiJcG7Qq5n5J7DIet1JAlBGiCY/vuqRBq1BdPViq70DqeJp9/ZQ0wJu21/SsY8cxw7aiaozBCW8AfyL9fVmdPSrW66jSkfmSuQnTaR59WnVZlfjhzJNzMmLIeDmBzInKUAkaxFEEj3NZbPBVLOEYCV1ZCW/dJx+9vbWBimbT4DDRAd2aaJljREYu46pfHAwg14bjPGmDNUUnW6883VpUQsZw1I1gIa0sg1z1XMU8h6J7L4Ss1401XOHEJSfgQEFFvTlGFo7rl2VLilFgSOCercNVjK7EoMaRTQ2BUDmqG7kuF+5WNSemmK8FOpFDXwtxABzMk="; // 发送数据 String url = "http://localhost:8188/laws-chery/sync/iam/chery/UserUpdateService"; String response = HttpUtil.post(url, target); @@ -245,8 +248,8 @@ public class TestClient { IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto(); iamUserAcceptDto.setBimUid("1819982931501633537"); // 数据库中取到的ID iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamUserAcceptDto.setBimRemoteUser("srmsIam"); - iamUserAcceptDto.setBimRemotePwd("srmsIam2023"); + iamUserAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamUserAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamUserAcceptDto); @@ -286,8 +289,8 @@ public class TestClient { iamOrgAcceptDto.setSrmsParentCode("D10000001"); iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamOrgAcceptDto.setBimRemoteUser("srmsIam"); - iamOrgAcceptDto.setBimRemotePwd("srmsIam2023"); + iamOrgAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamOrgAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamOrgAcceptDto); @@ -325,8 +328,8 @@ public class TestClient { iamOrgAcceptDto.setSrmsParentCode("D10000001"); iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamOrgAcceptDto.setBimRemoteUser("srmsIam"); - iamOrgAcceptDto.setBimRemotePwd("srmsIam2023"); + iamOrgAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamOrgAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamOrgAcceptDto); @@ -359,8 +362,8 @@ public class TestClient { iamOrgAcceptDto.setBimOrgId("D10000004"); iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamOrgAcceptDto.setBimRemoteUser("srmsIam"); - iamOrgAcceptDto.setBimRemotePwd("srmsIam2023"); + iamOrgAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamOrgAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamOrgAcceptDto); @@ -392,8 +395,8 @@ public class TestClient { IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto(); iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamCommonAcceptDto.setBimRemoteUser("srmsIam"); - iamCommonAcceptDto.setBimRemotePwd("srmsIam2023"); + iamCommonAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamCommonAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamCommonAcceptDto); @@ -422,8 +425,8 @@ public class TestClient { IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto(); iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20()); - iamCommonAcceptDto.setBimRemoteUser("srmsIam"); - iamCommonAcceptDto.setBimRemotePwd("srmsIam2023"); + iamCommonAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamCommonAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamCommonAcceptDto); @@ -452,8 +455,8 @@ public class TestClient { // 封装 IamUserAcceptDto 为用户数据层 IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto(); iamUserAcceptDto.setBimUid("1819982931501633537"); // 数据库中取到的ID - iamUserAcceptDto.setBimRemoteUser("srmsIam"); - iamUserAcceptDto.setBimRemotePwd("srmsIam2023"); + iamUserAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamUserAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamUserAcceptDto); @@ -484,8 +487,8 @@ public class TestClient { // 封装 IamUserAcceptDto 为用户数据层 IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto(); iamOrgAcceptDto.setBimOrgId("IA00102"); // 数据库中取到的ID - iamOrgAcceptDto.setBimRemoteUser("srmsIam"); - iamOrgAcceptDto.setBimRemotePwd("srmsIam2023"); + iamOrgAcceptDto.setBimRemoteUser("cgrsmsIam"); + iamOrgAcceptDto.setBimRemotePwd("cgrsmsIam2024"); StringBuilder sb = getStringBuilder(iamOrgAcceptDto); diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamByCheryController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamByCheryController.java index dfd12e52..afb5a1a2 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamByCheryController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamByCheryController.java @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.sql.SQLIntegrityConstraintViolationException; import java.util.List; /** @@ -104,6 +105,11 @@ public class SyncIamByCheryController { String message = e.getMessage(); iamUserCreateResponse.setMessage(message); log.error(iamUserCreateResponse.getMessage()); + } catch (ServiceException e) { + iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE); + String message = e.getErrorMessage(); + iamUserCreateResponse.setMessage(message); + log.error(iamUserCreateResponse.getMessage()); }catch (Exception e){ iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE); iamUserCreateResponse.setMessage("操作失败" + e.getMessage()); diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java index 63992130..42f66781 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java @@ -4,6 +4,7 @@ import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aliyun.oss.ServiceException; import com.banboocloud.Codec.BamboocloudFacade; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -308,6 +309,13 @@ public class SyncIamService { this.sysUserService.update(querySysUser); }else{ if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsUsername())){ + LambdaQueryWrapper querySysUser = new LambdaQueryWrapper<>(); + querySysUser.eq(SysUser::getUsername, userAcceptDto.getSrmsUsername()); + querySysUser.ne(SysUser::getId,userAcceptDto.getBimUid()); + long count = sysUserService.count(querySysUser); + if (count > 0) { + throw new ServiceException("工号【" + userAcceptDto.getSrmsUsername() + "】已存在!"); + } sysUser.setUsername(userAcceptDto.getSrmsUsername()); }