diff --git a/backend/src/main/java/com/designhub/service/TeamScorePoolService.java b/backend/src/main/java/com/designhub/service/TeamScorePoolService.java index 8f55256..5e571fd 100644 --- a/backend/src/main/java/com/designhub/service/TeamScorePoolService.java +++ b/backend/src/main/java/com/designhub/service/TeamScorePoolService.java @@ -29,10 +29,13 @@ public class TeamScorePoolService { * 使用 dept_id 关联部门(team_id 为遗留字段)。若当前部门无积分池且存在父部门,则向上查找父部门积分池(三级部门共享二级)。 */ public TeamScorePool getByDeptId(Long deptId) { - TeamScorePool pool = teamScorePoolMapper.selectOne( + // 使用 selectList + findFirst 避免重复数据导致的 TooManyResultsException + TeamScorePool pool = teamScorePoolMapper.selectList( new LambdaQueryWrapper() .eq(TeamScorePool::getDeptId, deptId) - ); + .orderByAsc(TeamScorePool::getId) + .last("LIMIT 1") + ).stream().findFirst().orElse(null); if (pool == null) { Department department = departmentMapper.selectById(deptId);