diff --git a/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java b/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java index ec24bfad..444f27a7 100644 --- a/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java +++ b/src/main/java/com/ai/da/common/security/filter/AuthenticationFilter.java @@ -64,7 +64,7 @@ public class AuthenticationFilter extends OncePerRequestFilter { "/api/global-award/uploads/pdf/init", "/api/global-award/uploads/pdf/chunk", "/api/global-award/uploads/pdf/complete", "/api/global-award/uploads/pdf/status", "/api/global-award/uploads/video/init", "/api/global-award/uploads/video/chunk", "/api/global-award/uploads/video/complete", "/api/global-award/uploads/video/status", "/api/global-award/contestants/save", "/api/global-award/contestants/by-email", "/api/global-award/checkEmail", "/api/global-award/checkCode","/api/global-award/contestants/export", - "/api/global-award/contestants/export/files" + "/api/global-award/contestants/export/files", "/api/global-award/contestants/count" ); @Override 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/model/vo/ContestantCountVO.java b/src/main/java/com/ai/da/model/vo/ContestantCountVO.java new file mode 100644 index 00000000..4495049f --- /dev/null +++ b/src/main/java/com/ai/da/model/vo/ContestantCountVO.java @@ -0,0 +1,17 @@ +package com.ai.da.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ContestantCountVO { + + private Long count; + + private Integer maxContestantNumber; +} 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) {