From 796bae6d06616d5bae8b56beac3ba688cc838c32 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Fri, 6 Feb 2026 18:52:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=E5=90=8C=E6=AD=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=B7=A5=E5=8F=B7=E8=BD=ACuserId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LyricInternalServiceImpl.java | 40 +++++++------------ .../project/service/impl/NodeServiceImpl.java | 16 ++------ 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java index df1fabe4..f25c35b6 100644 --- a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java @@ -344,6 +344,18 @@ public class LyricInternalServiceImpl implements ILyricInternalService { Map> projectTodoMap = todoInfoList.stream() .collect(Collectors.groupingBy(LyricVTodoEmulationInfoDM::getProject)); + // 将利元亨的用户工号与userId映射 + Map usernameToUserIdMap = new HashMap<>(); + UserListReq userListReq = new UserListReq(); + userListReq.setTenantId(tenantId); + userListReq.setCurrent(1); + userListReq.setSize(9999); + SdmResponse>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq); + if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) { + List userList = pageDataRespSdmResponse.getData().getData(); + usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); + } + for (SimulationNode projectNode : projectNodeList) { String projectCode = projectNode.getNodeCode(); List projectTodoList = projectTodoMap.getOrDefault(projectCode, Collections.emptyList()); @@ -355,18 +367,6 @@ public class LyricInternalServiceImpl implements ILyricInternalService { BatchCreateDirItem projectCreateItem = buildProjectDirItem(projectNode); List demandDirNodeList = new ArrayList<>(); - // 将利元亨的用户工号与userId映射 - Map usernameToUserIdMap = new HashMap<>(); - UserListReq userListReq = new UserListReq(); - userListReq.setTenantId(tenantId); - userListReq.setCurrent(1); - userListReq.setSize(9999); - SdmResponse>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq); - if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) { - List userList = pageDataRespSdmResponse.getData().getData(); - usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); - } - // 处理当前项目下的所有待办 for (LyricVTodoEmulationInfoDM todo : projectTodoList) { try { @@ -379,7 +379,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { // 3. 构建需求文件夹节点 demandDirNodeList.add(buildDemandDirNode(demandUuid, projectNode, demandReq.getDemandName())); // 4. 异步保存需求数据 - asyncSaveDemandData(demandReq, memberList, tenantId, jobNumber); + asyncSaveDemandData(demandReq, memberList, tenantId, jobNumber, usernameToUserIdMap); SimulationDemand demand = new SimulationDemand(); BeanUtils.copyProperties(demandReq, demand); @@ -611,22 +611,12 @@ public class LyricInternalServiceImpl implements ILyricInternalService { private void asyncSaveDemandData(SpdmAddDemandReq demandReq, List memberList, Long tenantId, - Long jobNumber) { + Long jobNumber, + Map usernameToUserIdMap) { CompletableFuture.runAsync(() -> { try { demandMapper.addDemand(demandReq, tenantId, jobNumber); if (CollectionUtils.isNotEmpty(memberList)) { - // 将利元亨的用户工号与userId映射 - Map usernameToUserIdMap = new HashMap<>(); - UserListReq userListReq = new UserListReq(); - userListReq.setTenantId(tenantId); - userListReq.setCurrent(1); - userListReq.setSize(9999); - SdmResponse>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq); - if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) { - List userList = pageDataRespSdmResponse.getData().getData(); - usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); - } for (SpdmDemandRelateMemberReq member : memberList) { Long cidUserId = usernameToUserIdMap.get(String.valueOf(member.getUserId())); if (cidUserId != null) { diff --git a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java index 5ae30101..85f7cdd9 100644 --- a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java @@ -3242,7 +3242,7 @@ public class NodeServiceImpl extends ServiceImpl memberList, Long tenantId, - Long currentUserId) { + Long currentUserId, + Map usernameToUserIdMap) { CompletableFuture.runAsync(() -> { try { ThreadLocalContext.setTenantId(tenantId); ThreadLocalContext.setUserId(currentUserId); demandMapper.addDemand(demandAddReq, tenantId, currentUserId); if (CollectionUtils.isNotEmpty(memberList)) { - // 将利元亨的用户工号与userId映射 - Map usernameToUserIdMap = new HashMap<>(); - UserListReq userListReq = new UserListReq(); - userListReq.setTenantId(tenantId); - userListReq.setCurrent(1); - userListReq.setSize(9999); - SdmResponse>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq); - if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) { - List userList = pageDataRespSdmResponse.getData().getData(); - usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); - } for (SpdmDemandRelateMemberReq member : memberList) { Long cidUserId = usernameToUserIdMap.get(String.valueOf(member.getUserId())); if (cidUserId != null) { From 6b86936a63cb37b2894585228a10b744e817c7e7 Mon Sep 17 00:00:00 2001 From: 15195 Date: Fri, 6 Feb 2026 18:52:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=88=A9?= =?UTF-8?q?=E5=85=83=E4=BA=A8=E7=8E=B0=E5=9C=BA=E8=A7=86=E5=9B=BE=E5=BA=93?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=94=9F=E4=BA=A7=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- outbridge/src/main/resources/common-lyric.yml | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/outbridge/src/main/resources/common-lyric.yml b/outbridge/src/main/resources/common-lyric.yml index c63537b7..25956f03 100644 --- a/outbridge/src/main/resources/common-lyric.yml +++ b/outbridge/src/main/resources/common-lyric.yml @@ -1,18 +1,31 @@ spring: datasource: -# todo 生产地址 + # 生产地址 second: username: EP_DM password: ENC(c04rt9Z6Ygz024EU9eWvig==) - jdbc-url: jdbc:mysql://10.122.48.11:13306/easy_project?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai + jdbc-url: jdbc:mysql://192.168.30.74:3306/easy_project?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver -# todo 第三个数据源,生产ip不一样 + # 第三个数据源,生产ip不一样 third: - username: EP_DM - password: ENC(c04rt9Z6Ygz024EU9eWvig==) - jdbc-url: jdbc:mysql://10.122.48.11:13306/ecn?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai + username: ECN_DM + password: ENC(YX2p8EZqmCAqqkj3wTRCsw==) + jdbc-url: jdbc:mysql://192.168.23.64:3306/ecn?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver +## 测试环境 +# second: +# username: EP_DM +# password: ENC(c04rt9Z6Ygz024EU9eWvig==) +# jdbc-url: jdbc:mysql://10.122.48.11:13306/easy_project?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai +# driver-class-name: com.mysql.cj.jdbc.Driver +## +# third: +# username: EP_DM +# password: ENC(c04rt9Z6Ygz024EU9eWvig==) +# jdbc-url: jdbc:mysql://10.122.48.11:13306/ecn?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai +# driver-class-name: com.mysql.cj.jdbc.Driver + # 测试开发环境 #appKey : 380ad3deb578424c9ca5178383f732c1 #appSecret : 805c316f35024b8b9566ca67b4991c42