GlobalAward返回最大的参赛者编号

This commit is contained in:
litianxiang
2026-04-13 14:34:05 +08:00
parent 409bc7b1fd
commit 6b5bacc49b
3 changed files with 23 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ import com.ai.da.common.response.Response;
import com.ai.da.model.dto.*; import com.ai.da.model.dto.*;
import com.ai.da.model.dto.ContestantDTO; import com.ai.da.model.dto.ContestantDTO;
import com.ai.da.model.vo.CheckOTPVO; 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.GlobalAwardService;
import com.ai.da.service.upload.UploadService; import com.ai.da.service.upload.UploadService;
import com.ai.da.service.upload.UploadTask; import com.ai.da.service.upload.UploadTask;
@@ -192,8 +193,8 @@ public class GlobalAwardController {
} }
@GetMapping("/contestants/count") @GetMapping("/contestants/count")
@ApiOperation(value = "查询参赛者总数", notes = "查询数据库中参赛者的总数量") @ApiOperation(value = "查询参赛者总数", notes = "查询数据库中参赛者的总数量和最大参赛者编号")
public Response<Long> getContestantCount() { public Response<ContestantCountVO> getContestantCount() {
return Response.success(globalAwardService.getContestantCount()); return Response.success(globalAwardService.getContestantCount());
} }

View File

@@ -2,6 +2,7 @@ package com.ai.da.service;
import com.ai.da.model.dto.ContestantDTO; import com.ai.da.model.dto.ContestantDTO;
import com.ai.da.model.vo.CheckOTPVO; import com.ai.da.model.vo.CheckOTPVO;
import com.ai.da.model.vo.ContestantCountVO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Map; import java.util.Map;
@@ -41,10 +42,10 @@ public interface GlobalAwardService {
byte[] exportContestantFilesAsZip(Integer minContestantNumber, Integer maxContestantNumber) throws Exception; byte[] exportContestantFilesAsZip(Integer minContestantNumber, Integer maxContestantNumber) throws Exception;
/** /**
* 查询参赛者总数 * 查询参赛者总数和最大参赛者编号
* @return 参赛者数量 * @return 参赛者数量和最大参赛者编号
*/ */
long getContestantCount(); ContestantCountVO getContestantCount();
} }

View File

@@ -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.ContestantDTO;
import com.ai.da.model.dto.PublishSysNotificationDTO; import com.ai.da.model.dto.PublishSysNotificationDTO;
import com.ai.da.model.vo.CheckOTPVO; 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.GlobalAwardService;
import com.ai.da.service.MessageCenterService; import com.ai.da.service.MessageCenterService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@@ -592,8 +593,21 @@ public class GlobalAwardServiceImpl implements GlobalAwardService {
} }
@Override @Override
public long getContestantCount() { public ContestantCountVO getContestantCount() {
return contestantMapper.selectCount(null); long count = contestantMapper.selectCount(null);
Integer maxContestantNumber = null;
QueryWrapper<Contestant> 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) { private String nullSafe(String value) {