From c799eb194f3fa7c8483b73c95d44620ce417b324 Mon Sep 17 00:00:00 2001 From: Z-WICK <2289431216@qq.com> Date: Mon, 26 Jan 2026 12:35:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=9B=86=E4=BD=93=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=80=89=E6=89=8B=E5=A7=93=E5=90=8D=E5=90=88=E5=B9=B6=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=9C=A8=E4=B8=80=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 集体项目按单位分组,选手姓名用顿号连接显示在一行 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- .../impl/MartialScheduleServiceImpl.java | 54 ++++++++++++++----- 1 file changed, 41 insertions(+), 13 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 a06ceb0..b829692 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 @@ -841,19 +841,47 @@ public class MartialScheduleServiceImpl extends ServiceImpl participantVOs; - // 所有项目都返回全部参赛者 - 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()); - pVO.setParticipantId(p.getParticipantId()); - pVO.setOrganization(p.getOrganization()); - pVO.setPlayerName(p.getPlayerName()); - pVO.setProjectName(p.getProjectName()); - pVO.setCategory(p.getCategory()); - pVO.setPerformanceOrder(p.getPerformanceOrder()); - return pVO; - }).collect(Collectors.toList()); + // 集体项目按单位分组,选手姓名合并显示 + if (group.getProjectType() != null && group.getProjectType() == 2) { + java.util.Map> orgMap = new java.util.LinkedHashMap<>(); + for (MartialScheduleParticipant p : participants) { + String org = p.getOrganization() != null ? p.getOrganization() : "未知单位"; + orgMap.computeIfAbsent(org, k -> new ArrayList<>()).add(p); + } + participantVOs = new ArrayList<>(); + int order = 1; + for (java.util.Map.Entry> entry : orgMap.entrySet()) { + List teamMembers = entry.getValue(); + MartialScheduleParticipant first = teamMembers.get(0); + String playerNames = teamMembers.stream() + .map(MartialScheduleParticipant::getPlayerName) + .collect(Collectors.joining("、")); + org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO = + new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant(); + pVO.setId(first.getId()); + pVO.setParticipantId(first.getParticipantId()); + pVO.setOrganization(first.getOrganization()); + pVO.setPlayerName(playerNames); + pVO.setProjectName(first.getProjectName()); + pVO.setCategory(first.getCategory()); + pVO.setPerformanceOrder(order++); + participantVOs.add(pVO); + } + } 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()); + pVO.setParticipantId(p.getParticipantId()); + pVO.setOrganization(p.getOrganization()); + pVO.setPlayerName(p.getPlayerName()); + pVO.setProjectName(p.getProjectName()); + pVO.setCategory(p.getCategory()); + pVO.setPerformanceOrder(p.getPerformanceOrder()); + return pVO; + }).collect(Collectors.toList()); + } groupVO.setParticipants(participantVOs); groups.add(groupVO);