From b1fb83530b7105e4aa73e4101727dea945eb01c2 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 29 八月 2025 21:48:15 +0800
Subject: [PATCH] bug修改

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 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 1dd31e0..0b03835 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
@@ -194,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());
@@ -209,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());
@@ -245,7 +246,6 @@
 //                }
 //            });
 //        }
-
 
         List<WorldCupRankVo> list = new ArrayList<>();
         for (int i = 0; i < mapList.size(); i++) {
@@ -302,6 +302,7 @@
             if(i == 19 && b){
                 break;
             }
+
             //排名前20的数据添加完成后且包含自己,需要将自己找出来后添加到21位
             if(i > 19 && !b){
                 if(worldCupRank.getIsStudent().compareTo(participantType) == 0 && worldCupRank.getId().compareTo(participantId) == 0){
@@ -342,6 +343,11 @@
         }
         // 排序
         list= list.stream().sorted(Comparator.comparing(WorldCupRankVo::getIntegral).reversed().thenComparing(WorldCupRankVo::getTotalSession).reversed().thenComparing(WorldCupRankVo::getWinRate).reversed()).collect(Collectors.toList());
+        int a=1;
+        for (WorldCupRankVo worldCupRankVo : list) {
+            worldCupRankVo.setRank(a);
+            a++;
+        }
         return list;
     }
 
@@ -667,7 +673,7 @@
             }
             map.put("startTime", sdf.format(cupCompetitor.getStartTime()));
             map.put("score", cupCompetitor.getOurScore() + ":" + cupCompetitor.getOpponentScore());
-            map.put("matchResult", cupCompetitor.getMatchResult() == 1 ? "胜" : cupCompetitor.getMatchResult() == 0 ? "平" : "负");
+            map.put("matchResult", cupCompetitor.getMatchResult() == 1 ? "胜" : (cupCompetitor.getMatchResult() == 0 ? "平" : "负"));
             map.put("blue", cupCompetitor.getParticipant() == 1 ? cupCompetitor.getOurScore() : cupCompetitor.getOpponentScore());
             map.put("red", cupCompetitor.getParticipant() == 2 ? cupCompetitor.getOurScore() : cupCompetitor.getOpponentScore());
             mapList.add(map);
@@ -797,7 +803,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());
@@ -1045,7 +1051,8 @@
     @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分组
@@ -1060,11 +1067,11 @@
             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());
+                TStudent tStudent = studentClient.queryById(competitor.getParticipantId().intValue());
+                userVo.setUserName(tStudent.getName());
+                userVo.setAvatar(tStudent.getHeadImg());
                     // 当前日期和生日计算年龄
-                Date birthday = appUser.getBirthday();
+                Date birthday = tStudent.getBirthday();
 
                 if(birthday!=null){
                     int age = now.getYear() - birthday.getYear();
@@ -1078,11 +1085,11 @@
             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());
+                TStudent tStudent = studentClient.queryById(competitor.getParticipantId().intValue());
+                userVo.setUserName(tStudent.getName());
+                userVo.setAvatar(tStudent.getHeadImg());
                     // 当前日期和生日计算年龄
-                Date birthday = appUser.getBirthday();
+                Date birthday = tStudent.getBirthday();
 
                 if(birthday!=null){
                     int age = now.getYear() - birthday.getYear();

--
Gitblit v1.7.1