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
相关推荐
triticale12 分钟前
【蓝桥杯】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离Felven12 分钟前
A. Ideal Generator秋野酱20 分钟前
基于 Spring Boot 的银行柜台管理系统设计与实现(源码+文档+部署讲解)JAVA学习通34 分钟前
JAVA多线程(8.0)不当菜虚困37 分钟前
JAVA设计模式——(七)代理模式joke_xiaoli1 小时前
tomcat Server 连接服务器 进展陶然同学1 小时前
RabbitMQ全栈实践手册:从零搭建消息中间件到SpringAMQP高阶玩法shanzhizi1 小时前
springboot入门-controller层北冥有鱼被烹1 小时前
【微知】/proc中如何查看Linux内核是否允许加载内核模块?(/proc/sys/kernel/modules_disabled)cloues break.1 小时前
C++初阶----模板初阶