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
相关推荐
奋斗的小乌龟7 小时前
动态创建Agent02ZFSS7 小时前
Localization Translate API 集成与使用指南摇滚侠7 小时前
Java 零基础全套教程,集合框架,笔记 153-163nannan12327 小时前
后端技术栈梳理hj2862518 小时前
Linux 磁盘管理 + 文件系统 + LVM 笔记整理L、2188 小时前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程.YYY9 小时前
Linux--如何安装rockyLinux9虚拟机索木木9 小时前
NCCL SHARP 和 TREE算法gentle coder9 小时前
testOneNiceCloud喜云9 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南