From e8f01399a49bb718f184e31d0f6de27c3dc64cef Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 19 八月 2025 08:58:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 48 insertions(+), 4 deletions(-)

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 9954889..b2c677a 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;
 
@@ -796,7 +797,7 @@
                 cupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
             }
             //如果之前平了,现在赢了,需要扣减积分
-            if(cupCompetitor.getMatchResult() == 0 && blue.compareTo(red) >0){
+            if(cupCompetitor.getMatchResult() == 0 && blue>red){
                 //先扣除
                 SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                 vo1.setAppUserId(cupCompetitor.getAppUserId());
@@ -1044,19 +1045,62 @@
     @Override
     public List<WorldCupCodeListVo> getWorldCupCodeListId(Integer worldCupId) {
         List<WorldCupCompetitor> worldCupCompetitors = this.baseMapper.selectList(new LambdaQueryWrapper<WorldCupCompetitor>().eq(WorldCupCompetitor::getWorldCupId, worldCupId)
-                .ge(WorldCupCompetitor::getStartTime, new Date()).lt(WorldCupCompetitor::getEndTime, new Date()));
+                        .and(w->w.isNull(WorldCupCompetitor::getEndTime).or(s->s.le(WorldCupCompetitor::getStartTime, new Date()).ge(WorldCupCompetitor::getEndTime, new Date()))))
+             ;
         List<WorldCupCodeListVo> worldCupCodeListVos = new ArrayList<>();
 
         // 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);

--
Gitblit v1.7.1