|
|
@@ -21,9 +21,7 @@ import seecoder.devcloud.web.model.vo.tree.TreeNodeUpdateBasicVO;
|
|
|
import seecoder.devcloud.web.service.tree.TreeNodeService;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@@ -147,11 +145,10 @@ public class TreeNodeServiceImpl implements TreeNodeService {
|
|
|
*/
|
|
|
private List<TreeNodeVO> getTreeNodeVOS(List<TreeNodePO> nodesPO) {
|
|
|
int projectId = nodesPO.get(0).getProjectId();
|
|
|
- List<Integer> userIds = nodesPO.stream().map(TreeNodePO::getProcessorId).collect(Collectors.toList());
|
|
|
-
|
|
|
- Map<Integer,String> usernameMap = userMapper.selectByIds(userIds).stream().collect(Collectors.toMap(UserPO::getId, UserPO::getUsername));
|
|
|
+ List<Integer> userIds = nodesPO.stream().filter(x->x.getProcessorId()!=null).map(TreeNodePO::getProcessorId).collect(Collectors.toList());
|
|
|
+ Map<Integer,String> usernameMap = userIds.size() == 0? Collections.EMPTY_MAP : userMapper.selectByIds(userIds).stream().collect(Collectors.toMap(UserPO::getId, UserPO::getUsername));
|
|
|
List<CommitPO> commits = commitMapper.selectByProjectIdAndType(projectId, CommitRelatedType.TREE_ID);
|
|
|
Map<Integer, List<CommitPO>> commitsMap = commits.stream().collect(Collectors.groupingBy(CommitPO::getRelatedId));
|
|
|
- return nodesPO.stream().map(po -> new TreeNodeVO(po,usernameMap.get(po.getProcessorId()),commitsMap.get(po.getId()))).collect(Collectors.toList());
|
|
|
+ return nodesPO.stream().map(po -> new TreeNodeVO(po,usernameMap.getOrDefault(po.getProcessorId(),"no one"),commitsMap.getOrDefault(po.getId(),new ArrayList<>()))).collect(Collectors.toList());
|
|
|
}
|
|
|
}
|