Просмотр исходного кода

# feat: 报名时按结束时间实时拦截已结束比赛

yangyi 2 месяцев назад
Родитель
Сommit
1fafc47355
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      src/main/java/space/anyi/serve/service/impl/ContestServiceImpl.java

+ 3 - 0
src/main/java/space/anyi/serve/service/impl/ContestServiceImpl.java

@@ -238,6 +238,9 @@ public class ContestServiceImpl extends ServiceImpl<ContestMapper, Contest> impl
         if (Contest.TYPE_PRIVATE.equals(contest.getType())) {
         if (Contest.TYPE_PRIVATE.equals(contest.getType())) {
             throw new IllegalArgumentException("私有比赛不可自助报名");
             throw new IllegalArgumentException("私有比赛不可自助报名");
         }
         }
+        if (contest.getEndDatetime() != null && !contest.getEndDatetime().isAfter(LocalDateTime.now())) {
+            throw new IllegalArgumentException("比赛已结束,无法报名");
+        }
         if (!Contest.STATUS_PENDING.equals(contest.getStatus()) && !Contest.STATUS_RUNNING.equals(contest.getStatus())) {
         if (!Contest.STATUS_PENDING.equals(contest.getStatus()) && !Contest.STATUS_RUNNING.equals(contest.getStatus())) {
             throw new IllegalArgumentException("比赛未开始或已结束,无法报名");
             throw new IllegalArgumentException("比赛未开始或已结束,无法报名");
         }
         }