From a30083741460048608cc5a74fe0fcb0d7d84169b Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 22 Jan 2026 09:22:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20TeamScorePoolService=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20selectList+findFirst=20=E9=81=BF=E5=85=8D=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=95=B0=E6=8D=AE=E5=AF=BC=E8=87=B4=20TooManyResultsE?= =?UTF-8?q?xception?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/designhub/service/TeamScorePoolService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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);