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
相关推荐
NE_STOP16 小时前
Spring AI Alibaba - MCP入门nice_lcj52016 小时前
【从零理解 Spring AI · 07】对话记忆:让模型记住上一句说了什么民乐团扒谱机17 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”SL_staff17 小时前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路물の韜17 小时前
ZYNQ/FMQL系列Linux之I2C开发实战qq_3718021117 小时前
Ubuntu Linux中安装WorkBuddy无足鸟ICT18 小时前
【RHCA+】iptraf-ng(网络监控分析)文丑颜不良啊18 小时前
LeetCode2261~2280题目解析独隅18 小时前
WebStorm 在 Linux 环境下的实战安装与高效开发指南SL_staff18 小时前
告别规则黑盒:JVS-Rules 在金融风控中的可视化决策编排实践