From 50430e0e13de4e3d0c73fcf9e099a2327706fc4f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 15 八月 2025 10:47:41 +0800
Subject: [PATCH] 赛事模块

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java           |   10 ++--
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |   47 ++++++++++++++++++++++-
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java                   |   10 +++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java                               |   12 ++++++
 4 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java
new file mode 100644
index 0000000..29e98be
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java
@@ -0,0 +1,12 @@
+package com.dsh.communityWorldCup.model;
+
+import lombok.Data;
+
+@Data
+public class UserVo {
+    private String userName;
+
+    private String avatar;
+
+    private Integer age=0;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java
index 6d6e56b..2b39baa 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java
@@ -1,5 +1,6 @@
 package com.dsh.communityWorldCup.model;
 
+import com.alipay.api.domain.UserDetail;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,6 +17,8 @@
 public class WorldCupCodeListVo {
     @ApiModelProperty("世界杯id")
     private Integer worldCupId;
+    @ApiModelProperty("世界杯名称")
+    private String name;
     @ApiModelProperty("编号")
     private String code;
     @ApiModelProperty("开始时间")
@@ -23,4 +26,11 @@
 
     @ApiModelProperty("自定义信息 结束接口需要")
     private List<Long> customs;
+
+
+    @ApiModelProperty("红队")
+    private List<UserVo> red;
+
+    @ApiModelProperty("蓝队")
+    private List<UserVo> blue;
 }
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 b22c1d7..1dd31e0 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
@@ -30,6 +30,7 @@
 import java.math.MathContext;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -1049,14 +1050,56 @@
 
         // worldCupCompetitors 通过code分组
         Map<String, List<WorldCupCompetitor>> map = worldCupCompetitors.stream().collect(Collectors.groupingBy(WorldCupCompetitor::getCode));
-
+        LocalDate now = LocalDate.now();
         for (Map.Entry<String, List<WorldCupCompetitor>> entry : map.entrySet()) {
             WorldCupCodeListVo worldCupCodeListVo = new WorldCupCodeListVo();
             String code = entry.getKey();
             List<WorldCupCompetitor> value = entry.getValue();
+            // 蓝队
+            List<WorldCupCompetitor> collect1 = value.stream().filter(item -> item.getParticipant() == 1).collect(Collectors.toList());
+            ArrayList<UserVo> objects = new ArrayList<>();
+            for (WorldCupCompetitor competitor : collect1) {
+                UserVo userVo = new UserVo();
+                AppUser appUser = appUserClient.getAppUser(competitor.getAppUserId());
+                userVo.setUserName(appUser.getName());
+                userVo.setAvatar(appUser.getHeadImg());
+                    // 当前日期和生日计算年龄
+                Date birthday = appUser.getBirthday();
+
+                if(birthday!=null){
+                    int age = now.getYear() - birthday.getYear();
+                    userVo.setAge(age);
+                }
+                objects.add(userVo);
+            }
+            worldCupCodeListVo.setBlue(objects);
+            // 红队
+            List<WorldCupCompetitor> collect2 = value.stream().filter(item -> item.getParticipant() == 2).collect(Collectors.toList());
+            ArrayList<UserVo> objects1 = new ArrayList<>();
+            for (WorldCupCompetitor competitor : collect2) {
+                UserVo userVo = new UserVo();
+                AppUser appUser = appUserClient.getAppUser(competitor.getAppUserId());
+                userVo.setUserName(appUser.getName());
+                userVo.setAvatar(appUser.getHeadImg());
+                    // 当前日期和生日计算年龄
+                Date birthday = appUser.getBirthday();
+
+                if(birthday!=null){
+                    int age = now.getYear() - birthday.getYear();
+                    userVo.setAge(age);
+                }
+                objects1.add(userVo);
+            }
+            worldCupCodeListVo.setRed(objects1);
+
             worldCupCodeListVo.setCode(code);
             worldCupCodeListVo.setStartTime(value.get(0).getStartTime());
-            worldCupCodeListVo.setWorldCupId(value.get(0).getWorldCupId());
+            Integer worldCupId1 = value.get(0).getWorldCupId();
+            WorldCup byId = worldCupService.getById(worldCupId1);
+            worldCupCodeListVo.setWorldCupId(worldCupId1);
+            if(byId!=null){
+                worldCupCodeListVo.setName(byId.getName());
+            }
             List<Long> collect = value.stream().map(WorldCupCompetitor::getId).collect(Collectors.toList());
             worldCupCodeListVo.setCustoms(collect);
             worldCupCodeListVos.add(worldCupCodeListVo);
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 81bf5a8..114d57e 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
@@ -148,12 +148,12 @@
         }
         //1、通过扫码获取的sutuid查询t_game表中的红蓝方sutuid
         // 智慧需要判断code
-
-        String code = startWorldCup.getCode();
-        JSONObject object = JSON.parseObject(code);
-        String sutu_id = object.getString("sutu_id");
-        TGame tGame = gameClient.getTGameBySutuId(sutu_id);
+        TGame tGame =new TGame();
         if (worldCup.getType() == null || worldCup.getType() == 1) {
+            String code = startWorldCup.getCode();
+            JSONObject object = JSON.parseObject(code);
+            String sutu_id = object.getString("sutu_id");
+            tGame = gameClient.getTGameBySutuId(sutu_id);
             if (null == tGame) {
                 return ResultUtil.error("无效的游戏二维码");
             }

--
Gitblit v1.7.1