From bf1ab59c9b3c29fe342af2f554789aacbdb24120 Mon Sep 17 00:00:00 2001 From: Z-WICK <2289431216@qq.com> Date: Mon, 26 Jan 2026 12:13:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=B0=83=E5=BA=A6?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E9=9B=86=E4=BD=93=E9=A1=B9=E7=9B=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=87=8D=E5=A4=8D=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 集体项目(projectType=2)按organization分组,只返回一条记录代表整个队伍 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- .../impl/MartialScheduleServiceImpl.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleServiceImpl.java b/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleServiceImpl.java index 23a6bdc..2805a11 100644 --- a/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleServiceImpl.java +++ b/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleServiceImpl.java @@ -839,8 +839,33 @@ public class MartialScheduleServiceImpl extends ServiceImpl participantVOs = - participants.stream().map(p -> { + List participantVOs; + + // 集体项目(projectType=2)按organization分组,只返回一条记录代表整个队伍 + if (group.getProjectType() != null && group.getProjectType() == 2) { + // 按organization分组,取每组第一个作为代表 + java.util.Map orgMap = new java.util.LinkedHashMap<>(); + for (MartialScheduleParticipant p : participants) { + String org = p.getOrganization() != null ? p.getOrganization() : "未知单位"; + if (!orgMap.containsKey(org)) { + orgMap.put(org, p); + } + } + participantVOs = orgMap.values().stream().map(p -> { + org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO = + new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant(); + pVO.setId(p.getId()); + pVO.setParticipantId(p.getParticipantId()); + pVO.setOrganization(p.getOrganization()); + pVO.setPlayerName(p.getOrganization()); // 集体项目显示单位名称 + pVO.setProjectName(p.getProjectName()); + pVO.setCategory(p.getCategory()); + pVO.setPerformanceOrder(p.getPerformanceOrder()); + return pVO; + }).collect(Collectors.toList()); + } else { + // 单人项目,正常返回所有参赛者 + participantVOs = participants.stream().map(p -> { org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO = new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant(); pVO.setId(p.getId()); @@ -852,6 +877,7 @@ public class MartialScheduleServiceImpl extends ServiceImpl