diff --git a/src/main/java/com/ai/da/controller/GlobalAwardController.java b/src/main/java/com/ai/da/controller/GlobalAwardController.java index fb5f0001..a63d566b 100644 --- a/src/main/java/com/ai/da/controller/GlobalAwardController.java +++ b/src/main/java/com/ai/da/controller/GlobalAwardController.java @@ -4,6 +4,7 @@ import com.ai.da.common.response.Response; import com.ai.da.model.dto.*; import com.ai.da.model.dto.ContestantDTO; import com.ai.da.model.vo.CheckOTPVO; +import com.ai.da.model.vo.ContestantCountVO; import com.ai.da.service.GlobalAwardService; import com.ai.da.service.upload.UploadService; import com.ai.da.service.upload.UploadTask; @@ -192,8 +193,8 @@ public class GlobalAwardController { } @GetMapping("/contestants/count") - @ApiOperation(value = "查询参赛者总数", notes = "查询数据库中参赛者的总数量") - public Response getContestantCount() { + @ApiOperation(value = "查询参赛者总数", notes = "查询数据库中参赛者的总数量和最大参赛者编号") + public Response getContestantCount() { return Response.success(globalAwardService.getContestantCount()); } diff --git a/src/main/java/com/ai/da/service/GlobalAwardService.java b/src/main/java/com/ai/da/service/GlobalAwardService.java index a6643276..76232238 100644 --- a/src/main/java/com/ai/da/service/GlobalAwardService.java +++ b/src/main/java/com/ai/da/service/GlobalAwardService.java @@ -2,6 +2,7 @@ package com.ai.da.service; import com.ai.da.model.dto.ContestantDTO; import com.ai.da.model.vo.CheckOTPVO; +import com.ai.da.model.vo.ContestantCountVO; import org.springframework.web.multipart.MultipartFile; import java.util.Map; @@ -41,10 +42,10 @@ public interface GlobalAwardService { byte[] exportContestantFilesAsZip(Integer minContestantNumber, Integer maxContestantNumber) throws Exception; /** - * 查询参赛者总数 - * @return 参赛者数量 + * 查询参赛者总数和最大参赛者编号 + * @return 参赛者数量和最大参赛者编号 */ - long getContestantCount(); + ContestantCountVO getContestantCount(); } diff --git a/src/main/java/com/ai/da/service/impl/GlobalAwardServiceImpl.java b/src/main/java/com/ai/da/service/impl/GlobalAwardServiceImpl.java index 17395a0e..e4bc7d01 100644 --- a/src/main/java/com/ai/da/service/impl/GlobalAwardServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GlobalAwardServiceImpl.java @@ -12,6 +12,7 @@ import com.ai.da.mapper.primary.entity.Notification; import com.ai.da.model.dto.ContestantDTO; import com.ai.da.model.dto.PublishSysNotificationDTO; import com.ai.da.model.vo.CheckOTPVO; +import com.ai.da.model.vo.ContestantCountVO; import com.ai.da.service.GlobalAwardService; import com.ai.da.service.MessageCenterService; import com.alibaba.fastjson.JSON; @@ -592,8 +593,21 @@ public class GlobalAwardServiceImpl implements GlobalAwardService { } @Override - public long getContestantCount() { - return contestantMapper.selectCount(null); + public ContestantCountVO getContestantCount() { + long count = contestantMapper.selectCount(null); + Integer maxContestantNumber = null; + QueryWrapper qMax = new QueryWrapper<>(); + qMax.isNotNull("contestant_number"); + qMax.orderByDesc("contestant_number"); + qMax.last("LIMIT 1"); + Contestant last = contestantMapper.selectOne(qMax); + if (last != null) { + maxContestantNumber = last.getContestantNumber(); + } + return ContestantCountVO.builder() + .count(count) + .maxContestantNumber(maxContestantNumber) + .build(); } private String nullSafe(String value) {