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
相关推荐
码农小韩11 分钟前
Linux应用开发(一)——Linux的标准IO路弥行至13 分钟前
Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南泡海椒22 分钟前
低代码规则开发:JQuick-Java声明式配置驱动开发落地教程weixin_4407305040 分钟前
socket解决多次输入问题-大数据接收问题-模块动态导入云泽80844 分钟前
Linux 系统编程实战:从零手写一个高性能终端进度条用户3126874877201 小时前
ReentrantLock 和 synchronized 到底选哪个?源码级对比与选型计算机毕设定制辅导-无忧学长1 小时前
基于Spring Boot的玄幻小说个性化推荐平台设计与实现码路漫漫1 小时前
LRU 真的能解决日志按业务 Key 分文件的落地瓶颈吗?Mapleay1 小时前
设备树/ACPI 与 fwnode 内核基础设施带刺的坐椅1 小时前
不只是 Token 流:Solon AI 4.1 的语义化聊天事件