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
相关推荐
shimly1234567 小时前
比 find + grep 更好用的 nm + addr2line迷途之人不知返7 小时前
【进程控制】-3-进程等待大侠归来7 小时前
C语言与C++在基础语法上的区别_upupup8 小时前
包管理器和vim小宋10218 小时前
SQL + RAG 混合问答实战:结构化指标与文档证据如何统一路由一颗小树x8 小时前
NVIDIA 驱动故障排查实录:内核升级导致 nvidia-smi 失效bro_Java6668 小时前
链表进阶2:双向链表的构建_smart_boy__8 小时前
I.MX6U开发板Uboot无法ping Ubuntu问题解决方案(二)DianSan_ERP8 小时前
多平台订单自动下载与回传的技术实现:从消息推送到状态闭环引言Joe_Wang58 小时前
【从0到1学习JVM · 13】点进JDK源码只有一个分号?搞懂本地方法栈与JNI机制