From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 236 insertions(+), 4 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 7e0ebce..698de32 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
@@ -1,13 +1,22 @@
package com.dsh.guns.modular.system.controller.code;
-import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupRecords;
+import com.dsh.course.feignClient.communityWorldCup.Model.*;
import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
+import com.dsh.course.model.dto.UserDetailsOfSearch;
+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.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
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;
/**
@@ -30,6 +39,49 @@
}
+ @RequestMapping("/openWorldCupGameStatisticsInfo")
+ public String openWorldCupGameStatisticsInfo(Model model, Integer id){
+ model.addAttribute("id", id);
+ return PREFIX + "worldCupGameStatisticsInfo.html";
+ }
+
+ @RequestMapping("/addWorldCupGameStatisticsInfo")
+ public String addWorldCupGameStatisticsInfo(Model model, Integer id){
+ WorldCup worldCupById = worldCupClient.getWorldCupById(id);
+ model.addAttribute("item", worldCupById);
+ return PREFIX + "addWorldCupGameStatisticsListInfo.html";
+ }
+ @RequestMapping("/userList")
+ public String userList(Integer id,Model model){
+ WorldCup worldCupById = worldCupClient.getWorldCupById(id);
+ model.addAttribute("item", worldCupById);
+ return PREFIX + "TUserList.html";
+ }
+ @RequestMapping("/userList1")
+ public String userList1(Integer id,Model model){
+ WorldCup worldCupById = worldCupClient.getWorldCupById(id);
+ model.addAttribute("item", worldCupById);
+ return PREFIX + "TUserList1.html";
+ }
+
+
+ @RequestMapping("/openWorldCupGameStatisticsListInfo")
+ public String openWorldCupGameStatisticsListInfo(Model model, Long participantId, Integer participantType){
+ model.addAttribute("participantId", participantId);
+ model.addAttribute("participantType", participantType);
+ return PREFIX + "worldCupGameStatisticsListInfo.html";
+ }
+
+
+ @RequestMapping("/openUserGameRecord")
+ public String openUserGameRecord(){
+ return PREFIX + "userGameRecord.html";
+ }
+
+
+
+
+
/**
* 获取排行榜列表数据
* @param worldCupRecords
@@ -40,4 +92,184 @@
public Map<String, Object> worldCupRecordsList(WorldCupRecords worldCupRecords){
return worldCupClient.worldCupRecordsList(worldCupRecords);
}
+
+
+ /**
+ * 获取比赛统计
+ * @param worldCupGameStatistics
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCupGameStatistics")
+ public Map<String, Object> worldCupGameStatistics(WorldCupGameStatistics worldCupGameStatistics){
+ return worldCupClient.worldCupGameStatistics(worldCupGameStatistics);
+ }
+
+
+ /**
+ * 获取比赛统计详情列表
+ * @param worldCupGameStatisticsInfoList
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCupGameStatisticsInfoList")
+ public Map<String, Object> worldCupGameStatisticsInfoList(WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){
+ return worldCupClient.worldCupGameStatisticsInfoList(worldCupGameStatisticsInfoList);
+ }
+
+
+ /**
+ * 获取单场参赛数据详情列表
+ * @param worldCupGameStatisticsListInfo
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCupGameStatisticsListInfo")
+ public Map<String, Object> worldCupGameStatisticsListInfo(WorldCupGameStatisticsListInfo worldCupGameStatisticsListInfo){
+ return worldCupClient.worldCupGameStatisticsListInfo(worldCupGameStatisticsListInfo);
+ }
+
+
+ /**
+ * 修改比分
+ * @param changeScore
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/changeScore")
+ public ResultUtil changeScore(ChangeScore changeScore){
+ 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.getUserGameRecordList(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] = null == d.get("idcard") ? "" : 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 worldCupGameStatisticsInfoList
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/getUserGameRecordList")
+ public Object getUserGameRecordList(WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){
+ return worldCupClient.getUserGameRecordList(worldCupGameStatisticsInfoList);
+ }
+
+
+
+ /**
+ * 获取用户比赛记录
+ * @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();
+ }
+ }
+
+
+ @ResponseBody
+ @PostMapping("/userDetailsOfSearch")
+ public Object storeDetailsOfSearch(Integer id,String name,String phone,String idCard){
+ UserDetailsOfSearch userDetailsOfSearch = new UserDetailsOfSearch();
+ userDetailsOfSearch.setId(id);
+ userDetailsOfSearch.setName(name);
+ userDetailsOfSearch.setPhone(phone);
+ userDetailsOfSearch.setIdCard(idCard);
+ // 获取报了名的用户 未产生赛事
+ return worldCupClient.userDetailsOfSearch(userDetailsOfSearch);
+ }
+
+
+ @ResponseBody
+ @PostMapping("/savaData1")
+ public Object savaData1(SaveData saveData){
+ // 修改WorldCupPaymentParticipant 参赛状态 savet_world_cup_competitor
+ worldCupClient.savaData1(saveData);
+ return ResultUtil.success();
+ }
}
--
Gitblit v1.7.1