/**
* @author: lwm
* @created: 2021/4/22 13:51
* @desc:获取版本树
*/
public List<ReleasePlan> getVersionTree(String projectId) {
//先获取该project下的所有数据
List<ReleasePlan> rps = findByProjectId(projectId);
List<ReleasePlan> collect = rps.stream().filter(e -> e.getParentId().equals(0L)).map(e -> {
e.setChildren(getChildrens(e, rps));
return e;
}).collect(Collectors.toList());
return collect;
}
/**
* 递归查询子节点
* @param root
* @param
* @return
*/
private List<ReleasePlan> getChildrens(ReleasePlan root, List<ReleasePlan> list) {
List<ReleasePlan> childrenList = list.stream().filter(e -> Objects.equals(e.getParentId(), root.getId())).map(
e -> {
e.setChildren(getChildrens(e, list));
return e;
}
).collect(Collectors.toList());
return childrenList;
}