1、优化查询任务列表
This commit is contained in:
@@ -785,7 +785,8 @@ public class TaskServiceImpl implements ITaskService {
|
||||
String demandId,
|
||||
Map<String, SpdmDemandVo> demandMap,
|
||||
Map<String, Long> demandSubmitMap,
|
||||
Map<String, Long> usernameToUserIdMap) {
|
||||
Map<String, Long> usernameToUserIdMap,
|
||||
Map<Long, String> userIdToNickNameMap) {
|
||||
if (StringUtils.isBlank(demandId)) {
|
||||
// 提出人:需求的创建人没有就取任务的创建人
|
||||
// 之前同步创建的需求、任务时,创建人用的工号,这里先兼容处理下
|
||||
@@ -797,12 +798,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}else {
|
||||
userId = creator;
|
||||
}
|
||||
newTaskVo.setSubmitter(userId);
|
||||
SdmResponse<CIDUserResp> userResp = sysUserFeignClient.queryUserDetail(
|
||||
UserQueryReq.builder().userId(userId).build()
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(userResp) && ObjectUtils.isNotEmpty(userResp.getData())) {
|
||||
newTaskVo.setSubmitterName(userResp.getData().getNickname());
|
||||
if (ObjectUtils.isNotEmpty(userId)) {
|
||||
newTaskVo.setSubmitter(userId);
|
||||
newTaskVo.setSubmitterName(userIdToNickNameMap.get(userId));
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -821,11 +819,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}else {
|
||||
userId = submitterId;
|
||||
}
|
||||
SdmResponse<CIDUserResp> userResp = sysUserFeignClient.queryUserDetail(
|
||||
UserQueryReq.builder().userId(userId).build()
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(userResp) && ObjectUtils.isNotEmpty(userResp.getData())) {
|
||||
newTaskVo.setSubmitterName(userResp.getData().getNickname());
|
||||
if (ObjectUtils.isNotEmpty(userId)) {
|
||||
newTaskVo.setSubmitter(userId);
|
||||
newTaskVo.setSubmitterName(userIdToNickNameMap.get(userId));
|
||||
}
|
||||
} else {
|
||||
// 提出人:需求的创建人没有就取任务的创建人
|
||||
@@ -837,12 +833,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}else {
|
||||
userId = creator;
|
||||
}
|
||||
newTaskVo.setSubmitter(userId);
|
||||
SdmResponse<CIDUserResp> userResp = sysUserFeignClient.queryUserDetail(
|
||||
UserQueryReq.builder().userId(userId).build()
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(userResp) && ObjectUtils.isNotEmpty(userResp.getData())) {
|
||||
newTaskVo.setSubmitterName(userResp.getData().getNickname());
|
||||
if (ObjectUtils.isNotEmpty(userId)) {
|
||||
newTaskVo.setSubmitter(userId);
|
||||
newTaskVo.setSubmitterName(userIdToNickNameMap.get(userId));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -852,7 +845,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
/**
|
||||
* 批量转换为返回VO
|
||||
*/
|
||||
private List<SpdmNewTaskVo> convertToNewVoBatch(List<SpdmTaskVo> taskList, BatchAssociatedData batchData,Map<String, Long> usernameToUserIdMap) {
|
||||
private List<SpdmNewTaskVo> convertToNewVoBatch(List<SpdmTaskVo> taskList, BatchAssociatedData batchData,Map<String, Long> usernameToUserIdMap,Map<Long, String> userIdToNickNameMap) {
|
||||
// 空值安全处理,直接返回空集合
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
return new ArrayList<>();
|
||||
@@ -903,7 +896,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
setTaskMemberInfo(newTaskVo, taskMemberMap.get(taskId), cidUserMap);
|
||||
|
||||
// 5. 设置需求相关信息(提出人/提出人名称)
|
||||
setDemandRelatedInfo(newTaskVo, taskVo.getDemandId(), demandMap, demandSubmitMap,usernameToUserIdMap);
|
||||
setDemandRelatedInfo(newTaskVo, taskVo.getDemandId(), demandMap, demandSubmitMap,usernameToUserIdMap,userIdToNickNameMap);
|
||||
|
||||
// 6. 设置工位号信息
|
||||
setWorkSpaceNodeCode(newTaskVo, taskVo, workSpaceNodeMap, taskNodeTag);
|
||||
@@ -1079,6 +1072,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
stopWatch.start("转换为返回VO");
|
||||
// 将利元亨的用户工号与userId映射
|
||||
Map<String, Long> usernameToUserIdMap = new HashMap<>();
|
||||
Map<Long, String> userIdToNickNameMap = new HashMap<>();
|
||||
UserListReq userListReq = new UserListReq();
|
||||
userListReq.setTenantId(tenantId);
|
||||
userListReq.setCurrent(1);
|
||||
@@ -1087,8 +1081,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) {
|
||||
List<CIDUserResp> userList = pageDataRespSdmResponse.getData().getData();
|
||||
usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId));
|
||||
userIdToNickNameMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUserId,CIDUserResp::getNickname));
|
||||
}
|
||||
List<SpdmNewTaskVo> newTaskList = convertToNewVoBatch(pageTaskList, batchData,usernameToUserIdMap);
|
||||
List<SpdmNewTaskVo> newTaskList = convertToNewVoBatch(pageTaskList, batchData,usernameToUserIdMap,userIdToNickNameMap);
|
||||
stopWatch.stop();
|
||||
// 输出计时结果(两种方式:格式化打印/自定义输出)
|
||||
System.out.println("===== 格式化打印所有任务耗时(推荐日志输出) =====");
|
||||
|
||||
Reference in New Issue
Block a user