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
相关推荐
qq_124987075331 分钟前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)Coder_Boy_37 分钟前
基于SpringAI的在线考试系统-考试系统开发流程案例Mr_sun.38 分钟前
Day06——权限认证-项目集成瑶山40 分钟前
Spring Cloud微服务搭建四、集成RocketMQ消息队列abluckyboy1 小时前
Java 实现求 n 的 n^n 次方的最后一位数字2301_818732061 小时前
前端调用控制层接口,进不去,报错415,类型不匹配2501_941982051 小时前
深度对比:Java、Go、Python 实现企微外部群推送,哪个效率更高?Zach_yuan1 小时前
深入浅出 JSONCpp马猴烧酒.1 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解sino爱学习2 小时前
高性能线程池实践:Dubbo EagerThreadPool 设计与应用