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
相关推荐
噢,我明白了22 分钟前
java中唯一键和幂等键的应用程序猿乐锅27 分钟前
【黑马点评 | 第八篇】Redisson分布式锁考虑考虑40 分钟前
synchronized字符串常量长谷深风1111 小时前
Tool与Skill:AI能力设计的分水岭m0_587383001 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点Escalating_xu1 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战百事牛科技1 小时前
WinRAR注释功能:给压缩包留个便签周杰偷奶茶1 小时前
【Java】数据类型与变量code斗1 小时前
Java数据结构:堆详解重生之小比特2 小时前
【C++进阶】map和set