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
相关推荐
45288655上山打老虎9 小时前
C++完美转发Seven979 小时前
查找算法南棱笑笑生10 小时前
20251211给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配OV5645摄像头毕设源码-朱学姐10 小时前
【开题答辩全过程】以 公务员考试在线测试系统为例,包含答辩的问题和答案serendipity_hky10 小时前
【SpringCloud | 第2篇】OpenFeign远程调用RwTo10 小时前
【源码】-Java线程池ThreadPoolSadSunset10 小时前
(15)抽象工厂模式(了解)兮动人10 小时前
EMT4J定制规则版:Java 8→17迁移兼容性检测与规则优化实战一点★10 小时前
Java中的常量池和字符串常量池问君能有几多愁~11 小时前
C++ 日志实现