diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index c8adccc..3af0a8c 100644 Binary files a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta and b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta index 08c7f8f..fabd9a1 100644 Binary files a/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta index 3f518d5..3f815bf 100644 Binary files a/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index ade8937..93bd447 100644 Binary files a/minio_data/.minio.sys/buckets/.usage.json/xl.meta and b/minio_data/.minio.sys/buckets/.usage.json/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta index 05e16cc..067cbdf 100644 Binary files a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta index 4256545..a0b15a9 100644 Binary files a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta index 3bec8f0..361cdf3 100644 Binary files a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta index 71f5400..07950d7 100644 Binary files a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta differ diff --git a/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java b/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java index ee78def..55c2599 100644 --- a/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java +++ b/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java @@ -938,6 +938,15 @@ public class MartialMiniController extends BladeController { // 使用现有mapper查询编排详情 List details = scheduleGroupMapper.selectScheduleGroupDetails(competitionId); + // 查询已完成评分的选手ID(主裁判已确认) + LambdaQueryWrapper resultWrapper = new LambdaQueryWrapper<>(); + resultWrapper.eq(MartialResult::getCompetitionId, competitionId) + .eq(MartialResult::getScoreStatus, 1) // 主裁判已确认 + .eq(MartialResult::getIsDeleted, 0); + List completedResults = resultService.list(resultWrapper); + Set completedAthleteIds = completedResults.stream() + .map(MartialResult::getAthleteId) + .collect(Collectors.toSet()); System.out.println("details count: " + (details != null ? details.size() : 0)); if (details != null && !details.isEmpty()) { System.out.println("first detail participantId: " + details.get(0).getParticipantId()); @@ -984,7 +993,26 @@ public class MartialMiniController extends BladeController { participant.setPlayerName(detail.getPlayerName()); participant.setOrganization(detail.getOrganization()); participant.setIsMe(myAthleteIds.contains(detail.getParticipantId())); - participant.setStatus(detail.getScheduleStatus() != null ? detail.getScheduleStatus() : "waiting"); + // 根据评分状态判断:已完成 > 进行中 > 待出场 + if (completedAthleteIds.contains(detail.getParticipantId())) { + participant.setStatus("已完成"); + } else { + participant.setStatus("待出场"); + } + // 计算预计出场时间 + String baseTime = detail.getTimeSlot() != null ? detail.getTimeSlot() : "08:00"; + int orderNum = participant.getOrder() != null ? participant.getOrder() : 1; + int minutesOffset = (orderNum - 1) * 5; // 每人5分钟 + try { + String[] parts = baseTime.split(":"); + int hours = Integer.parseInt(parts[0]); + int minutes = Integer.parseInt(parts[1]) + minutesOffset; + hours += minutes / 60; + minutes = minutes % 60; + participant.setEstimatedTime(String.format("%02d:%02d", hours, minutes)); + } catch (Exception e) { + participant.setEstimatedTime(baseTime); + } group.getParticipants().add(participant); } } diff --git a/src/main/java/org/springblade/modules/martial/pojo/vo/LineupParticipantVO.java b/src/main/java/org/springblade/modules/martial/pojo/vo/LineupParticipantVO.java index 5c26ae6..a6b3863 100644 --- a/src/main/java/org/springblade/modules/martial/pojo/vo/LineupParticipantVO.java +++ b/src/main/java/org/springblade/modules/martial/pojo/vo/LineupParticipantVO.java @@ -15,5 +15,6 @@ public class LineupParticipantVO implements Serializable { private String playerName; private String organization; private String status; - private Boolean isMe; // 是否为当前用户 + private String estimatedTime; + private Boolean isMe; }