From 603fbdb1bd13acf72fc94b95d96d32403c0889c2 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 06 三月 2024 18:15:16 +0800
Subject: [PATCH] 添加方法

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java                   |    8 ++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java           |   32 ++++++++++++++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java              |   12 ++++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |    5 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java                      |   10 +++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupGameStatistics.java               |   23 +++++++++++
 6 files changed, 89 insertions(+), 1 deletions(-)

diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index 91f3a1a..c870f22 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/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);
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java
index 00bafe4..663c605 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java
+++ b/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);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupGameStatistics.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupGameStatistics.java
new file mode 100644
index 0000000..88d3060
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupGameStatistics.java
@@ -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;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
index 36cd19a..d690f64 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
+++ b/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);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
index 72eb60e..11c1a73 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
+++ b/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;
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index 108fc02..9aab809 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/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;
+    }
 }

--
Gitblit v1.7.1