fix[project]: 修改查询团队成员接口
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user