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
相关推荐
jakeswang8 分钟前
【AI面经】大模型半夜发短信骂客户?Agent 工具调用失控,你如何设计防护机制?小杍随笔17 分钟前
【WordPress 核心表】TEC_INO20 分钟前
Linux_55:RV1126的VENC模块讲解mounter62521 分钟前
比 veth 更强、为 eBPF 而生:深度解析 Linux netkit 虚拟网卡驱动用户23678298016822 分钟前
Linux du 命令深度解析:从磁盘占用统计到目录空间分析码上小翔哥31 分钟前
Spring Boot Redis 缓存序列化踩坑记:GenericJackson2JsonRedisSerializer 的数组反序列化陷阱pq21731 分钟前
LambdaMetafactory(fastjson2使用的黑科技)SamDeepThinking34 分钟前
你认为从0-1开发一个项目最难的地方是什么?Devin~Y38 分钟前
大厂Java面试实战:Spring Boot/Cloud、Redis/Kafka、JVM调优与Spring AI RAG(内容社区UGC+AIGC客服场景)H Journey40 分钟前
网络编程:Linux下高性能TCP网络服务器(代码完整版)多线程版本