cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -715,4 +715,16 @@ public Map<String, Object> worldCupRecordsList(@RequestBody WorldCupRecords worldCupRecords){ return worldCupCompetitorService.worldCupRecordsList(worldCupRecords); } /** * 获取比赛统计 * @param worldCupGameStatistics * @return */ @ResponseBody @PostMapping("/worldCup/worldCupGameStatistics") public Map<String, Object> worldCupGameStatistics(@RequestBody WorldCupGameStatistics worldCupGameStatistics){ return worldCupService.worldCupGameStatistics(worldCupGameStatistics); } } cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java
@@ -50,4 +50,14 @@ Integer getWorldCupListAllCount(@Param("item") WorldCupListAll worldCupListAll); /** * 获取比赛统计列表数据 * @param worldCupGameStatistics * @return */ List<Map<String, Object>> worldCupGameStatistics(@Param("item") WorldCupGameStatistics worldCupGameStatistics); int worldCupGameStatisticsCount(@Param("item") WorldCupGameStatistics worldCupGameStatistics); } cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupGameStatistics.java
New file @@ -0,0 +1,23 @@ package com.dsh.communityWorldCup.model; import lombok.Data; /** * @author zhibing.pu * @Date 2024/3/6 17:42 */ @Data public class WorldCupGameStatistics { /** * 比赛名称 */ private String name; /** * 页码 */ private Integer offset; /** * 页条数 */ private Integer limit; } cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
@@ -99,4 +99,12 @@ * 定时任务修改状态 */ void taskUpdateStatus(); /** * 获取比赛统计列表数据 * @param worldCupGameStatistics * @return */ Map<String, Object> worldCupGameStatistics(WorldCupGameStatistics worldCupGameStatistics); } cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
@@ -334,7 +334,10 @@ map.put("phone", participant.getPhone()); } } map1.put("rows", mapList); Integer offset = worldCupRecords.getOffset(); Integer limit = worldCupRecords.getLimit(); limit += offset; map1.put("rows", mapList.subList(offset, mapList.size() >= limit ? limit : mapList.size())); int count = this.baseMapper.worldCupRecordsListCount(appUserIds); map1.put("total", count); return map1; cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -744,4 +744,36 @@ this.updateBatchById(worldCups); } } /** * 获取比赛统计列表数据 * @param worldCupGameStatistics * @return */ @Override public Map<String, Object> worldCupGameStatistics(WorldCupGameStatistics worldCupGameStatistics) { Map<String, Object> map = new HashMap<>(); List<Map<String, Object>> mapList = this.baseMapper.worldCupGameStatistics(worldCupGameStatistics); for (Map<String, Object> stringObjectMap : mapList) { Integer id = Integer.valueOf(stringObjectMap.get("id").toString()); int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("worldCupId", id)); stringObjectMap.put("matchTime", count); List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", id) .eq("payStatus", 2).eq("state", 1)); List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); if(collect.size() == 0){ stringObjectMap.put("applicants", 0); }else{ int count1 = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>() .eq("worldCupId", id).in("worldCupPaymentId", collect) .groupBy("worldCupPaymentId, participantType")); stringObjectMap.put("applicants", count1); } } int count = this.baseMapper.worldCupGameStatisticsCount(worldCupGameStatistics); map.put("total", count); return map; } }