diff --git a/backend/src/main/java/com/designhub/service/TeamScorePoolService.java b/backend/src/main/java/com/designhub/service/TeamScorePoolService.java index 7a55bf8..e21d8bc 100644 --- a/backend/src/main/java/com/designhub/service/TeamScorePoolService.java +++ b/backend/src/main/java/com/designhub/service/TeamScorePoolService.java @@ -26,12 +26,25 @@ public class TeamScorePoolService { /** * 根据部门ID获取积分池 + * 如果当前部门没有积分池,向上查找父部门的积分池 */ public TeamScorePool getByDeptId(Long deptId) { - return teamScorePoolMapper.selectOne( + // 首先查找当前部门的积分池 + TeamScorePool pool = teamScorePoolMapper.selectOne( new LambdaQueryWrapper() - .eq(TeamScorePool::getDeptId, deptId) + .eq(TeamScorePool::getTeamId, deptId) ); + + // 如果当前部门没有积分池,向上查找父部门 + if (pool == null) { + Department department = departmentMapper.selectById(deptId); + if (department != null && department.getParentId() != null && department.getParentId() > 0) { + log.debug("部门{}没有积分池,查找父部门{}的积分池", deptId, department.getParentId()); + return getByDeptId(department.getParentId()); // 递归查找父部门 + } + } + + return pool; } /** diff --git a/frontend/dist.tar.gz b/frontend/dist.tar.gz index 666ec83..fbfcdc7 100644 Binary files a/frontend/dist.tar.gz and b/frontend/dist.tar.gz differ