From 3b3db9ecdc588bfaed9a5ca92b399b0525f43955 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 11 三月 2024 15:49:23 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java |   90 ++++++++++++++++++++++++++++----------------
 1 files changed, 57 insertions(+), 33 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 f3c89ee..84d093e 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
@@ -7,15 +7,19 @@
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
 import com.dsh.communityWorldCup.feignclient.account.AppUserClient;
 import com.dsh.communityWorldCup.feignclient.account.StudentClient;
+import com.dsh.communityWorldCup.feignclient.account.UserIntegralChangesClient;
 import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
 import com.dsh.communityWorldCup.feignclient.account.model.AppUserIdsByCityName;
+import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo;
 import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
 import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
 import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
 import com.dsh.communityWorldCup.feignclient.other.StoreClient;
 import com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper;
+import com.dsh.communityWorldCup.mapper.WorldCupPaymentParticipantMapper;
 import com.dsh.communityWorldCup.model.*;
 import com.dsh.communityWorldCup.service.IWorldCupCompetitorService;
+import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
 import com.dsh.communityWorldCup.service.IWorldCupService;
 import com.dsh.communityWorldCup.util.ToolUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +50,9 @@
 
     @Autowired
     private IWorldCupService worldCupService;
+
+    @Resource
+    private UserIntegralChangesClient userIntegralChangesClient;
 
 
 
@@ -261,43 +268,60 @@
      * 比赛结束后通知处理逻辑
      * @param custom        开始比赛接口上传的自定义参数
      * @param red_score     红方分数
-     * @param blue          蓝方分数
+     * @param blue_score    蓝方分数
      */
     @Override
-    public void endWorldCupCallback(String custom, Integer red_score, Integer blue) {
+    public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score) {
         List<Long> ids = JSON.parseArray(custom, Long.class);
         List<WorldCupCompetitor> worldCupCompetitors = this.listByIds(ids);
-        WorldCupCompetitor worldCupCompetitor1 = worldCupCompetitors.get(0);
-        WorldCup worldCup = worldCupService.getById(worldCupCompetitor1.getWorldCupId());
-        for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) {
-            //蓝方
-            if(worldCupCompetitor.getParticipant() == 1){
-                worldCupCompetitor.setMatchResult(blue.compareTo(red_score));
-                worldCupCompetitor.setOurScore(blue);
-                worldCupCompetitor.setOpponentScore(red_score);
-                worldCupCompetitor.setEndTime(new Date());
-                worldCupCompetitor.setWinIntegral(0);
-                if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && blue.compareTo(red_score) >= 0){
-                    worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
-                    AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId());
-                    appUser.setIntegral(appUser.getIntegral() + worldCup.getWinIntegral());
-                    appUserClient.updateAppUser(appUser);
+        try {
+            WorldCupCompetitor worldCupCompetitor1 = worldCupCompetitors.get(0);
+            WorldCup worldCup = worldCupService.getById(worldCupCompetitor1.getWorldCupId());
+            for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) {
+                worldCupCompetitor.setWorldCupId(null);
+                //蓝方
+                if(worldCupCompetitor.getParticipant() == 1){
+                    worldCupCompetitor.setMatchResult(blue_score.compareTo(red_score));
+                    worldCupCompetitor.setOurScore(blue_score);
+                    worldCupCompetitor.setOpponentScore(red_score);
+                    worldCupCompetitor.setEndTime(new Date());
+                    worldCupCompetitor.setWinIntegral(0);
+                    if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && blue_score.compareTo(red_score) >= 0){
+                        worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+                        AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId());
+                        appUser.setIntegral(appUser.getIntegral() + worldCup.getWinIntegral());
+                        appUserClient.updateAppUser(appUser);
+                        //增加积分明细
+                        SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+                        vo.setAppUserId(appUser.getId());
+                        vo.setIntegral(worldCup.getWinIntegral());
+                        vo.setType(7);
+                        userIntegralChangesClient.saveUserIntegralChanges(vo);
+                    }
+                }
+                //红方
+                if(worldCupCompetitor.getParticipant() == 2){
+                    worldCupCompetitor.setMatchResult(red_score.compareTo(blue_score));
+                    worldCupCompetitor.setOurScore(red_score);
+                    worldCupCompetitor.setOpponentScore(blue_score);
+                    worldCupCompetitor.setEndTime(new Date());
+                    worldCupCompetitor.setWinIntegral(0);
+                    if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && red_score.compareTo(blue_score) >= 0){
+                        worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+                        AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId());
+                        appUser.setIntegral(appUser.getIntegral() + worldCup.getWinIntegral());
+                        appUserClient.updateAppUser(appUser);
+                        //增加积分明细
+                        SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+                        vo.setAppUserId(appUser.getId());
+                        vo.setIntegral(worldCup.getWinIntegral());
+                        vo.setType(7);
+                        userIntegralChangesClient.saveUserIntegralChanges(vo);
+                    }
                 }
             }
-            //红方
-            if(worldCupCompetitor.getParticipant() == 2){
-                worldCupCompetitor.setMatchResult(red_score.compareTo(blue));
-                worldCupCompetitor.setOurScore(red_score);
-                worldCupCompetitor.setOpponentScore(blue);
-                worldCupCompetitor.setEndTime(new Date());
-                worldCupCompetitor.setWinIntegral(0);
-                if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && red_score.compareTo(blue) >= 0){
-                    worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
-                    AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId());
-                    appUser.setIntegral(appUser.getIntegral() + worldCup.getWinIntegral());
-                    appUserClient.updateAppUser(appUser);
-                }
-            }
+        }catch (Exception e){
+            e.printStackTrace();
         }
 
         this.updateBatchById(worldCupCompetitors);
@@ -388,7 +412,7 @@
                 }
 
                 map.put("name", tStudent.getName());
-                map.put("phone", tStudent.getPhone());
+                map.put("phone", ToolUtil.isEmpty(tStudent.getPhone()) ? appUser.getPhone() : tStudent.getPhone());
             }else{
                 Participant participant = participantClient.getParticipant(participantId);
                 if(ToolUtil.isNotEmpty(name) && participant.getName().indexOf(name) == -1){
@@ -402,7 +426,7 @@
                 }
 
                 map.put("name", participant.getName());
-                map.put("phone", participant.getPhone());
+                map.put("phone", ToolUtil.isNotEmpty(participant.getPhone()) ? participant.getPhone() : appUser.getPhone());
             }
             list.add(map);
         }

--
Gitblit v1.7.1