java通过用户id寻找下级

复制代码
private List<Long> getJuniorDeptIds(R<List<SysUser>> userList, List<Long> xiajiId) {
    List<Long> userIds = new ArrayList<>();
    // 创建一个临时列表,用于存储当前层级的下级部门id
    List<Long> currentLevelDeptIds = new ArrayList<>(xiajiId);
    // 直到没有下级部门为止
    while (!currentLevelDeptIds.isEmpty()) {
        List<Long> nextLevelDeptIds = new ArrayList<>();
        // 遍历当前层级的下级部门id
        for (Long deptId : currentLevelDeptIds) {
            for (SysUser datum : userList.getData()) {
                if (Objects.equals(datum.getDeptId(), deptId)) {
                    userIds.add(datum.getUserId());
                    // 将当前部门的所有下级部门id添加到下一层级列表中
                    nextLevelDeptIds.add(datum.getUserId());
                }
            }
        }
        // 更新当前层级的下级部门id为下一层级的部门id
        currentLevelDeptIds = nextLevelDeptIds;
    }
    return userIds;
}
相关推荐
重整旗鼓~12 小时前
3.会话功能-AiServices工具类
java·语言模型·langchain
LCG元13 小时前
Linux 文本处理三剑客(grep, sed, awk)核心用法与实战
linux
RisunJan13 小时前
Linux命令-exportfs命令(管理NFS服务器上共享文件系统)
linux·运维·服务器
代码不停13 小时前
Java单链表和哈希表题目练习
java·开发语言·散列表
动感小麦兜13 小时前
服务器搭建
linux·服务器·python
Dxxyyyy13 小时前
零基础学JAVA--Day37(坦克大战1.0)
java·开发语言
OranTech13 小时前
第28节课-夕夕超市收银系统(下)-笔记
java
IDOlaoluo13 小时前
jakarta-tomcat-connectors-jk2-src.tar.gz 安装教程(详细步骤及附安装包)
java·tomcat
SheepHappy13 小时前
MyBatis-Plus 源码阅读(三)条件构造器原理深度剖析
java·源码阅读
zhaomy202513 小时前
从ThreadLocal到ScopedValue:Java上下文管理的架构演进与实战指南
java·后端