fix: 添加报名时间和比赛结束时间校验
- 报名时检查报名时间是否在有效范围内 - 报名时检查比赛是否已结束 - 如果比赛已结束,返回错误提示 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
@@ -12,18 +12,21 @@ import org.springblade.core.secure.utils.AuthUtil;
|
|||||||
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.api.R;
|
||||||
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.Func;
|
||||||
import org.springblade.modules.martial.pojo.entity.MartialAthlete;
|
import org.springblade.modules.martial.pojo.entity.MartialAthlete;
|
||||||
|
import org.springblade.modules.martial.pojo.entity.MartialCompetition;
|
||||||
import org.springblade.modules.martial.pojo.entity.MartialRegistrationOrder;
|
import org.springblade.modules.martial.pojo.entity.MartialRegistrationOrder;
|
||||||
import org.springblade.modules.martial.pojo.entity.MartialTeam;
|
import org.springblade.modules.martial.pojo.entity.MartialTeam;
|
||||||
import org.springblade.modules.martial.pojo.entity.MartialTeamMember;
|
import org.springblade.modules.martial.pojo.entity.MartialTeamMember;
|
||||||
import org.springblade.modules.martial.pojo.dto.RegistrationSubmitDTO;
|
import org.springblade.modules.martial.pojo.dto.RegistrationSubmitDTO;
|
||||||
import org.springblade.modules.martial.pojo.vo.MartialRegistrationOrderVO;
|
import org.springblade.modules.martial.pojo.vo.MartialRegistrationOrderVO;
|
||||||
import org.springblade.modules.martial.service.IMartialAthleteService;
|
import org.springblade.modules.martial.service.IMartialAthleteService;
|
||||||
|
import org.springblade.modules.martial.service.IMartialCompetitionService;
|
||||||
import org.springblade.modules.martial.service.IMartialRegistrationOrderService;
|
import org.springblade.modules.martial.service.IMartialRegistrationOrderService;
|
||||||
import org.springblade.modules.martial.service.IMartialTeamService;
|
import org.springblade.modules.martial.service.IMartialTeamService;
|
||||||
import org.springblade.modules.martial.mapper.MartialTeamMemberMapper;
|
import org.springblade.modules.martial.mapper.MartialTeamMemberMapper;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -36,6 +39,7 @@ public class MartialRegistrationOrderController extends BladeController {
|
|||||||
private final IMartialRegistrationOrderService registrationOrderService;
|
private final IMartialRegistrationOrderService registrationOrderService;
|
||||||
private final IMartialAthleteService athleteService;
|
private final IMartialAthleteService athleteService;
|
||||||
private final IMartialTeamService teamService;
|
private final IMartialTeamService teamService;
|
||||||
|
private final IMartialCompetitionService competitionService;
|
||||||
private final MartialTeamMemberMapper teamMemberMapper;
|
private final MartialTeamMemberMapper teamMemberMapper;
|
||||||
|
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
@@ -69,6 +73,27 @@ public class MartialRegistrationOrderController extends BladeController {
|
|||||||
log.info("联系电话: {}", dto.getContactPhone());
|
log.info("联系电话: {}", dto.getContactPhone());
|
||||||
log.info("总金额: {}", dto.getTotalAmount());
|
log.info("总金额: {}", dto.getTotalAmount());
|
||||||
|
|
||||||
|
// Validate competition exists and check registration/competition time
|
||||||
|
MartialCompetition competition = competitionService.getById(dto.getCompetitionId());
|
||||||
|
if (competition == null) {
|
||||||
|
return R.fail("赛事不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
|
||||||
|
// Check if registration time is valid
|
||||||
|
if (competition.getRegistrationStartTime() != null && now.isBefore(competition.getRegistrationStartTime())) {
|
||||||
|
return R.fail("报名尚未开始");
|
||||||
|
}
|
||||||
|
if (competition.getRegistrationEndTime() != null && now.isAfter(competition.getRegistrationEndTime())) {
|
||||||
|
return R.fail("报名已结束");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if competition has ended
|
||||||
|
if (competition.getCompetitionEndTime() != null && now.isAfter(competition.getCompetitionEndTime())) {
|
||||||
|
return R.fail("比赛已结束,无法报名");
|
||||||
|
}
|
||||||
|
|
||||||
// Create order entity
|
// Create order entity
|
||||||
MartialRegistrationOrder order = new MartialRegistrationOrder();
|
MartialRegistrationOrder order = new MartialRegistrationOrder();
|
||||||
order.setOrderNo(dto.getOrderNo());
|
order.setOrderNo(dto.getOrderNo());
|
||||||
|
|||||||
Reference in New Issue
Block a user