From 98ae5836b597cb2e6abf8e8126dae16be2fba5cf Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Fri, 20 Mar 2026 07:17:54 +0800 Subject: [PATCH] =?UTF-8?q?fix[project]:=20=E4=BB=BF=E7=9C=9F=E7=AD=96?= =?UTF-8?q?=E5=88=92=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?3D=E8=B4=9F=E8=B4=A3=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sdm/project/model/po/TaskNodePo.java | 5 +++ .../service/impl/ProjectServiceImpl.java | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java index 76d38fd3..c6f5e738 100644 --- a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java +++ b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java @@ -147,6 +147,11 @@ public class TaskNodePo extends NodeAllBase { */ private String attionMembers; + /** + * 3D负责人 + */ + private String tMembers; + /** * 拓展属性集合 */ diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index 29d2d357..7c53b72e 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -774,10 +774,26 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } } + // 3D负责人 + List tMemberList = taskChildren.stream().filter(node -> CollectionUtils.isNotEmpty(node.getTMemberList())).flatMap(item -> item.getTMemberList().stream().filter(Objects::nonNull)).toList(); + List tMemberIdList = new ArrayList<>(); + List distinctTMemberList = projectNodePo.getPayAttentionMemberList(); + if (CollectionUtils.isNotEmpty(tMemberIdList)) { + for (CIDUserResp cidUserResp : tMemberList) { + if (tMemberIdList.contains(cidUserResp.getUserId())) { + continue; + } + distinctTMemberList.add(cidUserResp); + tMemberIdList.add(cidUserResp.getUserId()); + } + } + projectNodePo.setPMemberList(distinctPMemberList); projectNodePo.setEMemberList(distinctEMemberList); // 仿真关注人 projectNodePo.setPayAttentionMemberList(distinctAttionMemberList); + // 3D负责人 + projectNodePo.setTMemberList(distinctTMemberList); for (NodeAllBase child : children) { List eachChildren = child.getChildren(); @@ -1017,6 +1033,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { List pUserIdList = memberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); // 关注人 List attionUserIdList = memberList.stream().filter(member -> MemberTypeEnum.ATTENTION.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); + // 3D负责人 + List tUserIdList = memberList.stream().filter(member -> MemberTypeEnum.THREED.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); if (CollectionUtils.isNotEmpty(eUserIdList)) { List eMemberList = new ArrayList<>(); @@ -1062,6 +1080,23 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { taskNodePo.setAttionMembers(taskNodePo.getPayAttentionMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","))); } } + + // 3D负责人 + if (CollectionUtils.isNotEmpty(tUserIdList)) { + List tMemberList = new ArrayList<>(); + for (Long tUserId : tUserIdList) { + CIDUserResp cidUserResp = cidUserMap.get(tUserId); + if (ObjectUtils.isEmpty(cidUserResp)) { + continue; + } + tMemberList.add(cidUserResp); + } + taskNodePo.setTMemberList(tMemberList); + if (CollectionUtils.isNotEmpty(taskNodePo.getTMemberList())) { + taskNodePo.setTMembers(taskNodePo.getTMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","))); + } + } + } } }