From adf749e8da2bfce006390b008f6b9e8606b62180 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 28 八月 2025 17:02:30 +0800
Subject: [PATCH] update

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 5 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 b22c1d7..6ec3abd 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;
 
@@ -193,6 +194,7 @@
             Integer winIntegral = Integer.valueOf(null == map.get("winIntegral") ? "0" : map.get("winIntegral").toString());
             Integer drawIntegral = Integer.valueOf(null == map.get("drawIntegral") ? "0" : map.get("drawIntegral").toString());
             Integer loseIntegral = Integer.valueOf(null == map.get("loseIntegral") ? "0" : map.get("loseIntegral").toString());
+            Integer participationIntegral = Integer.valueOf(null == map.get("participationIntegral") ? "0" : map.get("participationIntegral").toString());
             //学员
             if(participantType == 1){
                 TStudent tStudent = studentClient.queryById(participantId.intValue());
@@ -208,7 +210,7 @@
                 }
             }
             map.put("totalSession", num);
-            map.put("totalIntegral", winIntegral+drawIntegral+loseIntegral);
+            map.put("totalIntegral", winIntegral+drawIntegral+loseIntegral+participationIntegral);
             map.put("winRate", "0");
             for (Map<String, Object> objectMap : lists1) {
                 Integer participantType1 = Integer.valueOf(objectMap.get("participantType").toString());
@@ -796,7 +798,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 +1046,62 @@
     @Override
     public List<WorldCupCodeListVo> getWorldCupCodeListId(Integer worldCupId) {
         List<WorldCupCompetitor> worldCupCompetitors = this.baseMapper.selectList(new LambdaQueryWrapper<WorldCupCompetitor>().eq(WorldCupCompetitor::getWorldCupId, worldCupId)
-                .le(WorldCupCompetitor::getStartTime, new Date()).ge(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();
+                TStudent tStudent = studentClient.queryById(competitor.getParticipantId().intValue());
+                userVo.setUserName(tStudent.getName());
+                userVo.setAvatar(tStudent.getHeadImg());
+                    // 当前日期和生日计算年龄
+                Date birthday = tStudent.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();
+                TStudent tStudent = studentClient.queryById(competitor.getParticipantId().intValue());
+                userVo.setUserName(tStudent.getName());
+                userVo.setAvatar(tStudent.getHeadImg());
+                    // 当前日期和生日计算年龄
+                Date birthday = tStudent.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