controller层:
/**
* 返回树形菜单集合
*
* @return 树形菜单
*/
@ApiOperation(value = "树形菜单集合", notes = "返回树形菜单集合")
@GetMapping(value = "/tree")
public R getTree() {
return R.ok(sysDeptService.selectTree());
}
Impl:
@Override
public List<DeptTree> selectTree() {
return getDeptTree(this.list(Wrappers.emptyWrapper()));
}
private List<DeptTree> getDeptTree(List<SysDept> depts) {
List<DeptTree> treeList = depts.stream()
.filter(dept -> !dept.getDeptId().equals(dept.getParentId()))
.sorted(Comparator.comparingInt(SysDept::getSort))
.map(dept -> {
DeptTree node = new DeptTree();
QSysDeptLeader qSysDeptLeader = new QSysDeptLeader();
qSysDeptLeader.setDeptId(dept.getDeptId());
List<SysDeptLeader> leadersList = sysDeptLeaderService.list