From 1f1b5541a872a0b2d974344df18e0890f414cc9b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 08 三月 2024 17:43:59 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 1 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java
index 725fdbb..a144fe6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java
@@ -2,14 +2,23 @@
 
 import com.dsh.course.feignClient.communityWorldCup.Model.*;
 import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
+import com.dsh.guns.modular.system.util.ExcelUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -46,7 +55,10 @@
     }
 
 
-
+    @RequestMapping("/openUserGameRecord")
+    public String openUserGameRecord(){
+        return PREFIX + "userGameRecord.html";
+    }
 
 
 
@@ -111,4 +123,99 @@
         worldCupClient.changeScore(changeScore);
         return ResultUtil.success();
     }
+
+
+    /**
+     * 导出用户统计列表
+     * @param worldCupGameStatisticsInfoList
+     * @param response
+     */
+    @ResponseBody
+    @GetMapping("/exportUserStatistics")
+    public void exportUserStatistics(WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList, HttpServletResponse response){
+        worldCupGameStatisticsInfoList.setOffset(0);
+        worldCupGameStatisticsInfoList.setLimit(100000);
+        Map<String, Object> map = worldCupClient.worldCupGameStatisticsInfoList(worldCupGameStatisticsInfoList);
+        List<Map<String, Object>> list = (List<Map<String, Object>>)map.get("rows");
+
+        try {
+            Date date = new Date();
+            DateFormat format = new SimpleDateFormat("yyyyMMdd");
+            String time1 = format.format(date);
+            String fileName ="用户统计.xls";
+            String[] title = new String[] {"用户姓名","联系电话","身份证号","已比赛场次","胜-负场次","胜率"};
+            String[][] values = new String[list.size()][];
+            for (int i = 0; i < list.size(); i++) {
+                Map<String, Object> d = list.get(i);
+                values[i] = new String[title.length];
+                values[i][0] = d.get("name").toString();
+                values[i][1] = d.get("phone").toString();
+                values[i][2] = d.get("idcard").toString();
+                values[i][3] = d.get("totalSession").toString();
+                values[i][4] = d.get("win").toString() + "-" + d.get("lose").toString();
+                values[i][5] = d.get("winRate").toString() + "%";
+            }
+            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(time1, title, values, null);
+            ExcelUtil.setResponseHeader(response, fileName);
+            OutputStream os = response.getOutputStream();
+            wb.write(os);
+            os.flush();
+            os.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 获取用户比赛记录
+     * @param userGameRecordList
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/userGameRecordList")
+    public Object userGameRecordList(UserGameRecordList userGameRecordList){
+        return worldCupClient.userGameRecordList(userGameRecordList);
+    }
+
+
+    /**
+     * 导出用户比赛记录
+     * @param userGameRecordList
+     * @param response
+     */
+    @ResponseBody
+    @GetMapping("/exportUserGameRecord")
+    public void exportUserGameRecord(UserGameRecordList userGameRecordList, HttpServletResponse response){
+        userGameRecordList.setOffset(0);
+        userGameRecordList.setLimit(100000);
+        Map<String, Object> map = worldCupClient.userGameRecordList(userGameRecordList);
+        List<Map<String, Object>> list = (List<Map<String, Object>>)map.get("rows");
+
+        try {
+            Date date = new Date();
+            DateFormat format = new SimpleDateFormat("yyyyMMdd");
+            String time1 = format.format(date);
+            String fileName ="比赛记录.xls";
+            String[] title = new String[] {"用户姓名","参与比赛","比赛时间","比分","结果"};
+            String[][] values = new String[list.size()][];
+            for (int i = 0; i < list.size(); i++) {
+                Map<String, Object> d = list.get(i);
+                values[i] = new String[title.length];
+                values[i][0] = d.get("userName").toString();
+                values[i][1] = d.get("name").toString();
+                values[i][2] = d.get("startTime").toString();
+                values[i][3] = d.get("score").toString();
+                values[i][4] = d.get("matchResult").toString();
+            }
+            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(time1, title, values, null);
+            ExcelUtil.setResponseHeader(response, fileName);
+            OutputStream os = response.getOutputStream();
+            wb.write(os);
+            os.flush();
+            os.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

--
Gitblit v1.7.1