From 3e74be7087c23693eb293fd3acad0ff982859e67 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 20 Jan 2026 13:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0getAllChildDeptIds=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89=E5=AD=90=E9=83=A8?= =?UTF-8?q?=E9=97=A8ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designhub/service/DepartmentService.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/backend/src/main/java/com/designhub/service/DepartmentService.java b/backend/src/main/java/com/designhub/service/DepartmentService.java index 743af82..df0c9cc 100644 --- a/backend/src/main/java/com/designhub/service/DepartmentService.java +++ b/backend/src/main/java/com/designhub/service/DepartmentService.java @@ -592,6 +592,30 @@ public class DepartmentService { return children; } + /** + * 获取部门的所有子部门ID(递归) + */ + public List getAllChildDeptIds(Long deptId) { + List result = new ArrayList<>(); + if (deptId == null) { + return result; + } + + // 查找直接子部门 + List children = departmentMapper.selectList( + new LambdaQueryWrapper() + .eq(Department::getParentId, deptId) + ); + + // 递归获取所有子部门 + for (Department child : children) { + result.add(child.getId()); + result.addAll(getAllChildDeptIds(child.getId())); + } + + return result; + } + /** * 检查用户是否为任何部门的负责人 */