代码示例

    1. // 查询全部部门
    2. List<SysDept> deptAllList = deptMapper.selectList(Wrappers.emptyWrapper());
    3. // 查询数据权限内部门
    4. List<Integer> deptOwnIdList = deptMapper.selectListByScope(Wrappers.emptyWrapper(), new DataScope()).stream()
    5. .map(SysDept::getDeptId).collect(Collectors.toList());
    6. // 权限内部门
    7. List<TreeNode<Integer>> collect = deptAllList.stream()
    8. .filter(dept -> dept.getDeptId().intValue() != dept.getParentId())
    9. .sorted(Comparator.comparingInt(SysDept::getSort)).map(dept -> {
    10. TreeNode<Integer> treeNode = new TreeNode();
    11. treeNode.setId(dept.getDeptId());
    12. treeNode.setParentId(dept.getParentId());
    13. treeNode.setName(dept.getName());
    14. // 有权限不返回标识
    15. treeNode.setExtra(MapUtil.of("isLock", !deptOwnIdList.contains(dept.getDeptId())));
    16. return treeNode;
    17. }).collect(Collectors.toList());

    自然序排序一个list

    1. list.stream().sorted()

    使用Comparator 来排序一个list

    1. sorted(Comparator.comparingInt(SysDept::getSort))

    image.png