fix[project]: 修改查询团队成员接口

This commit is contained in:
2026-04-18 12:52:27 +08:00
parent 8c37d191ef
commit 651472ecfb
4 changed files with 49 additions and 4 deletions

View File

@@ -32,6 +32,8 @@ public interface INodeService extends IService<SimulationNode> {
SdmResponse getProjectMemberList(GetProjectListReq req);
SdmResponse getTaskMemberList(GetProjectListReq req);
SdmResponse<List<ProjectNodePo>> getChildrenNodeList(List<String> projectNodeIdList, String nodeType);
SdmResponse getDedicatedTime(GetDedicatedTimeReq req);

View File

@@ -2045,7 +2045,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
List<Long> userIdList = spdmNodeMemberVoList.stream().map(SpdmNodeMemberVo::getUserId).distinct().collect(Collectors.toList());
// 查询node节点下的task的成员仿真负责人和执行人
if (userType != NodeMemberTypeEnum.PARTICIPANT.getCode()) {
if (!Objects.equals(userType, NodeMemberTypeEnum.PARTICIPANT.getCode())) {
List<SimulationTask> taskList = simulationTaskService.lambdaQuery().in(SimulationTask::getNodeId, allNodeIdList).list();
if (CollectionUtils.isNotEmpty(taskList)) {
List<SimulationTaskMember> taskMemberList = simulationTaskMemberService.lambdaQuery().in(SimulationTaskMember::getTaskId, taskList.stream().map(SimulationTask::getUuid).toList()).list();
@@ -2094,6 +2094,49 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
return SdmResponse.success(jsonObject);
}
@Override
public SdmResponse getTaskMemberList(GetProjectListReq req) {
Long tenantId = ThreadLocalContext.getTenantId();
JSONObject jsonObject = new JSONObject();
String projectNodeId = req.getProjectNodeId();
SpdmNodeVo spdmNodeVo = nodeMapper.getNodeById(projectNodeId);
if (ObjectUtils.isEmpty(spdmNodeVo)) {
log.error("根据projectNodeId{},未查询到团队成员", projectNodeId);
jsonObject.put("data", new ArrayList<CIDStaffResp>());
return SdmResponse.success(jsonObject);
}
List<String> allNodeIdList = new ArrayList<>();
allNodeIdList.add(spdmNodeVo.getUuid());
recursionAllNodeIdList(Collections.singletonList(spdmNodeVo.getUuid()), allNodeIdList);
List<Long> userIdList = new ArrayList<>();
List<SimulationTask> taskList = simulationTaskService.lambdaQuery().in(SimulationTask::getNodeId, allNodeIdList).list();
if (CollectionUtils.isNotEmpty(taskList)) {
List<SimulationTaskMember> taskMemberList = simulationTaskMemberService.lambdaQuery()
.in(SimulationTaskMember::getTaskId, taskList.stream().map(SimulationTask::getUuid).toList())
.eq(SimulationTaskMember::getType,MemberTypeEnum.EXECUTOR.getCode()).list();
if (CollectionUtils.isNotEmpty(taskMemberList)) {
userIdList = taskMemberList.stream().map(SimulationTaskMember::getUserId).distinct().collect(Collectors.toList());
}
}
SdmResponse<List<CIDStaffResp>> cidStaffResp = sysUserFeignClient.listUserDetailByIds(UserQueryReq.builder()
.userIds(userIdList)
.tenantId(tenantId)
.build());
List<CIDStaffResp> userList = cidStaffResp.getData();
if (CollectionUtils.isEmpty(userList)) {
log.error("getTaskMemberList未查询到用户");
jsonObject.put("data", new ArrayList<CIDStaffResp>());
return SdmResponse.success(jsonObject);
}
int current = req.getCurrent();
int size = req.getSize();
jsonObject.put("data", userList.stream().skip((long) (current - 1) * size).limit(size));
jsonObject.put("currentPage", current);
jsonObject.put("pageSize", size);
jsonObject.put("total", userList.size());
return SdmResponse.success(jsonObject);
}
private void recursionAllNodeIdList(List<String> currentNodeIdList, List<String> allNodeIdList) {
List<SpdmNodeVo> spdmNodeVoList = nodeMapper.getNodeListByNodeIdList(currentNodeIdList);
if (CollectionUtils.isEmpty(spdmNodeVoList)) {

View File

@@ -3893,7 +3893,7 @@ public class TaskServiceImpl implements ITaskService {
getProjectListReq.setCurrent(1);
getProjectListReq.setSize(10000);
getProjectListReq.setProjectNodeId(projectId);
SdmResponse sdmResponse = nodeService.getProjectMemberList(getProjectListReq);
SdmResponse sdmResponse = nodeService.getTaskMemberList(getProjectListReq);
if (!sdmResponse.isSuccess()) {
log.info("项目成员为空");
return SdmResponse.success();
@@ -3953,7 +3953,7 @@ public class TaskServiceImpl implements ITaskService {
getProjectListReq.setCurrent(1);
getProjectListReq.setSize(10000);
getProjectListReq.setProjectNodeId(projectId);
SdmResponse sdmResponse = nodeService.getProjectMemberList(getProjectListReq);
SdmResponse sdmResponse = nodeService.getTaskMemberList(getProjectListReq);
if (!sdmResponse.isSuccess()) {
log.info("项目成员为空");
return SdmResponse.success();

View File

@@ -402,7 +402,7 @@
#{nodeId}
</foreach>
)
<if test="userType != null and userType !='' ">
<if test="userType != null">
and type = #{userType}
</if>
group by user_id, type,nodeId