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
相关推荐
暗夜猎手-大魔王33 分钟前
转载--Hermes Agent 10 | 7 层安全防线:从用户授权到输入净化拾光Ծ2 小时前
【Linux网络】计算机网络入门:网络产生与协议idolao2 小时前
Oligo 7.60 安装教程:引物设计+Java 环境配置做个文艺程序员5 小时前
第04篇:K8s 弹性伸缩实战:HPA、VPA、KEDA——Java SaaS 应对流量洪峰的秘密武器石山代码9 小时前
ArrayList / HashMap / ConcurrentHashMap9分钟带帽9 小时前
linux_系统开机自动执行shell脚本jingshaoqi_ccc10 小时前
windows 10系统下QT的安装及在Visual studio中的扩展安装AskHarries10 小时前
系统提示词、开发者指令和用户输入的优先级daidaidaiyu11 小时前
ThingsBoard 规则链系统源码分析和自定义定时器嵌入式小能手11 小时前
飞凌嵌入式ElfBoard-进程间的通信之命名管道