导入hutool依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.21</version>
</dependency>
编写逻辑
/**
* 构建树形结构
*
* @param depts 部门数据
* @param parentId 父id
* @return
*/
private List<Tree<String>> getDeptTree(List<Department> depts, String parentId) {
return TreeUtil.build(depts.stream()
.sorted(Comparator.comparing(Department::getCreateTime)
.reversed())
.collect(Collectors.toList()), parentId,
(dept, tree) -> {
tree.setId(dept.getId());
tree.setName(dept.getName());
tree.setParentId(dept.getPid());
// 扩展字段
tree.putExtra("manager", dept.getManager());
});
}