浏览代码

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

yangyi 2 月之前
父节点
当前提交
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())) {
             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())) {
             throw new IllegalArgumentException("比赛未开始或已结束,无法报名");
         }