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 b829692..9da125c 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 @@ -813,10 +813,18 @@ public class MartialScheduleServiceImpl extends ServiceImpl uniqueDetails = new LinkedHashMap<>(); + for (MartialScheduleDetail detail : details) { + if (!uniqueDetails.containsKey(detail.getScheduleGroupId())) { + uniqueDetails.put(detail.getScheduleGroupId(), detail); + } + } + + // 3. 构建返回数据 List groups = new ArrayList<>(); - for (MartialScheduleDetail detail : details) { + for (MartialScheduleDetail detail : uniqueDetails.values()) { // 查询分组信息 MartialScheduleGroup group = scheduleGroupMapper.selectById(detail.getScheduleGroupId()); if (group == null) { diff --git a/src/main/java/org/springblade/modules/martial/service/impl/ScheduleDispatchServiceImpl.java b/src/main/java/org/springblade/modules/martial/service/impl/ScheduleDispatchServiceImpl.java index 8b0cf16..c14d2c1 100644 --- a/src/main/java/org/springblade/modules/martial/service/impl/ScheduleDispatchServiceImpl.java +++ b/src/main/java/org/springblade/modules/martial/service/impl/ScheduleDispatchServiceImpl.java @@ -45,10 +45,18 @@ public class ScheduleDispatchServiceImpl implements IScheduleDispatchService { return vo; } - // 2. 构建返回数据 + // 2. 按 schedule_group_id 去重,避免同一分组重复出现 + java.util.Map uniqueDetails = new java.util.LinkedHashMap<>(); + for (MartialScheduleDetail detail : details) { + if (!uniqueDetails.containsKey(detail.getScheduleGroupId())) { + uniqueDetails.put(detail.getScheduleGroupId(), detail); + } + } + + // 3. 构建返回数据 List groups = new ArrayList<>(); - for (MartialScheduleDetail detail : details) { + for (MartialScheduleDetail detail : uniqueDetails.values()) { // 查询分组信息 MartialScheduleGroup group = scheduleGroupMapper.selectById(detail.getScheduleGroupId()); if (group == null) {