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;
}
java通过用户id寻找下级
youmdt2023-09-11 10:32
相关推荐
无足鸟ICT8 分钟前
【RHCA+】agedu命令(查看磁盘使用情况)特立独行的猫A13 分钟前
13MB 单文件、一条命令变服务:把仓颉写的 cjh 内嵌进你的应用,当它的 AI 大脑StarsGreen15 分钟前
Android 启动流程详解Brookty20 分钟前
Java博客项目实战|工程环境与构建:工程目录、PowerShell命令调用与JDK/IDEA/Maven工作机制zhengfei61139 分钟前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡养军博客44 分钟前
Spring Boot 3.x + Spring Security 6.x 整合 JWT 实战:jjwt 与 java-jwt 两种工具库详解TeamDev1 小时前
使用 JxBrowser 在桌面应用中集成 SpringJ.YA1 小时前
String字符串[面试题]叼烟扛炮1 小时前
Linux 学习笔记(六十一):网络编程毕业设计——Reactor 反应堆模式xyzzklk1 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接