From 228c40ba253e57a10abb435afb6889c8ed27ec55 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 07 三月 2024 11:11:24 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java         |    8 ++
 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 |   47 +++++++++++++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java            |    8 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserGameRecordList.java                   |   27 +++++++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserStatisticsList.java                   |   31 ++++++++++
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml                                  |   19 ++++++
 7 files changed, 152 insertions(+), 0 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 67cbde7..ff23de0 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
@@ -765,4 +765,16 @@
     public void changeScore(@RequestBody ChangeScore changeScore){
         worldCupCompetitorService.changeScore(changeScore);
     }
+
+
+    /**
+     * 获取用户比赛记录明细
+     * @param userGameRecordList
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/worldCup/userGameRecordList")
+    public Map<String, Object> userGameRecordList(@RequestBody UserGameRecordList userGameRecordList){
+        return worldCupCompetitorService.userGameRecordList(userGameRecordList);
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
index 7b1db53..db21514 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
@@ -55,4 +55,12 @@
      * @return
      */
     List<Map<String, Object>> worldCupGameStatisticsInfoList(@Param("worldCupId") Integer worldCupId);
+
+
+    /**
+     * 获取用户比赛记录详情
+     * @param name
+     * @return
+     */
+    List<Map<String, Object>> userGameRecordList(@Param("name") String name);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserGameRecordList.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserGameRecordList.java
new file mode 100644
index 0000000..2cbbb7a
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserGameRecordList.java
@@ -0,0 +1,27 @@
+package com.dsh.communityWorldCup.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/3/7 10:34
+ */
+@Data
+public class UserGameRecordList {
+    /**
+     * 用户姓名
+     */
+    private String userName;
+    /**
+     * 参与比赛名称
+     */
+    private String name;
+    /**
+     * 页码
+     */
+    private Integer offset;
+    /**
+     * 页条数
+     */
+    private Integer limit;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserStatisticsList.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserStatisticsList.java
new file mode 100644
index 0000000..9bb593a
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserStatisticsList.java
@@ -0,0 +1,31 @@
+package com.dsh.communityWorldCup.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/3/7 9:37
+ */
+@Data
+public class UserStatisticsList {
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 电话号码
+     */
+    private String phone;
+    /**
+     * 身份证号
+     */
+    private String idcard;
+    /**
+     * 页码
+     */
+    private Integer offset;
+    /**
+     * 页条数
+     */
+    private Integer limit;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
index 8128027..705a27b 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
@@ -76,4 +76,12 @@
      * @param changeScore
      */
     void changeScore(ChangeScore changeScore);
+
+
+    /**
+     * 获取用户比赛记录明细
+     * @param userGameRecordList
+     * @return
+     */
+    Map<String, Object> userGameRecordList(UserGameRecordList userGameRecordList);
 }
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 512837e..3b339fb 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
@@ -369,6 +369,8 @@
             Integer win = Integer.valueOf(map.get("win").toString());
             Integer lose = totalSession - win;
             map.put("lose", lose);
+            map.put("participantType", participantType);
+            map.put("participantId", participantId);
             AppUser appUser = appUserClient.getAppUser(appUserId);
             map.put("province", appUser.getProvince() + appUser.getCity());
             if(1 == participantType){
@@ -517,4 +519,49 @@
         }
         this.updateBatchById(blueList);
     }
+
+
+    /**
+     * 获取用户比赛记录详情
+     * @param userGameRecordList
+     * @return
+     */
+    @Override
+    public Map<String, Object> userGameRecordList(UserGameRecordList userGameRecordList) {
+        String name = userGameRecordList.getUserName();
+        List<Map<String, Object>> list = this.baseMapper.userGameRecordList(userGameRecordList.getName());
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        for (Map<String, Object> map : list) {
+            Long participantType = Long.valueOf(map.get("participantType").toString());
+            Integer participantId = Integer.valueOf(map.get("participantId").toString());
+            Integer ourScore = Integer.valueOf(map.get("ourScore").toString());
+            Integer opponentScore = Integer.valueOf(map.get("opponentScore").toString());
+            Integer matchResult = Integer.valueOf(map.get("matchResult").toString());
+            if(1 == participantType){
+                TStudent tStudent = studentClient.queryById(participantId);
+                if(ToolUtil.isNotEmpty(name) && tStudent.getName().indexOf(name) == -1){
+                    continue;
+                }
+                map.put("userName", tStudent.getName());
+            }else{
+                Participant participant = participantClient.getParticipant(participantId);
+                if(ToolUtil.isNotEmpty(name) && participant.getName().indexOf(name) == -1){
+                    continue;
+                }
+                map.put("userName", participant.getName());
+            }
+            map.put("score", ourScore.compareTo(opponentScore) > 0 ?
+                    ourScore + ":" + opponentScore :
+                    opponentScore + ":" + ourScore);
+            map.put("matchResult", matchResult == 1 ? "胜" : "负");
+            mapList.add(map);
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("total", mapList.size());
+        Integer offset = userGameRecordList.getOffset();
+        Integer limit = userGameRecordList.getLimit();
+        limit += offset;
+        map.put("rows", mapList.subList(offset, mapList.size() >= limit ? limit : mapList.size()));
+        return map;
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
index 265f7f5..f425e78 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
@@ -199,4 +199,23 @@
             ) as b on (a.participantId = b.participantId and a.participantType = b.participantType)
         ) as aa order by aa.totalSession desc
     </select>
+
+    <select id="userGameRecordList" resultType="map">
+        select
+        participantType,
+        participantId,
+        appUserId,
+        DATE_FORMAT(a.startTime, '%Y-%m-%d %H:%i') as startTime,
+        ourScore,
+        opponentScore,
+        matchResult,
+        b.`name`
+        from t_world_cup_competitor a
+        left join t_world_cup b on (a.worldCupId = b.id)
+        where 1 = 1
+        <if test="null != name and '' != name">
+            and b.name like CONCAT('%', #{name}, '%')
+        </if>
+        order by a.startTime desc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.7.1