From 17b7d16e4f5998dfc60d133ea08712b0abc46f84 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 05 九月 2025 09:12:00 +0800
Subject: [PATCH] bug修改
---
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 199 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 187 insertions(+), 12 deletions(-)
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index c2faace..77570a4 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -5,10 +5,16 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dsh.communityWorldCup.entity.*;
import com.dsh.communityWorldCup.feignclient.account.AppUserClient;
import com.dsh.communityWorldCup.feignclient.account.StudentClient;
+import com.dsh.communityWorldCup.feignclient.account.StudentHonorClient;
+import com.dsh.communityWorldCup.feignclient.account.UserIntegralChangesClient;
import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
+import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo;
+import com.dsh.communityWorldCup.feignclient.account.model.StudentHonor;
import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
@@ -20,10 +26,7 @@
import com.dsh.communityWorldCup.feignclient.other.model.TGame;
import com.dsh.communityWorldCup.model.*;
import com.dsh.communityWorldCup.service.*;
-import com.dsh.communityWorldCup.util.GDMapGeocodingUtil;
-import com.dsh.communityWorldCup.util.PayMoneyUtil;
-import com.dsh.communityWorldCup.util.ResultUtil;
-import com.dsh.communityWorldCup.util.TokenUtil;
+import com.dsh.communityWorldCup.util.*;
import com.dsh.communityWorldCup.util.wx.WxV3PayConfig;
import com.wechat.pay.contrib.apache.httpclient.util.AesUtil;
import groovy.util.logging.Log4j;
@@ -44,6 +47,7 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -104,6 +108,12 @@
@Resource
private GameClient gameClient;
+
+ @Autowired
+ private UserIntegralChangesClient userIntegralChangesClient;
+
+ @Autowired
+ private StudentHonorClient studentHonorClient;
/**
@@ -369,7 +379,10 @@
@PostMapping("/api/worldCup/endWorldCup")
@ApiOperation(value = "裁判结束比赛【3.1】", tags = {"APP-个人中心"})
@ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(name = "redScore", value = "红队得分", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "blueScore", value = "蓝队得分", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "custom", value = "自定义参数 列表中是数组 ,拼接传过来", required = true, dataType = "String")
})
public ResultUtil endWorldCup(String custom, Integer redScore, Integer blueScore){
return worldCupService.endWorldCup(custom,redScore,blueScore);
@@ -1227,20 +1240,20 @@
public List<WorldCupUserListVo> userDetailsOfSearch(@RequestBody UserDetailsOfSearch search){
// 已报名的用户
List<WorldCupPaymentParticipant> list = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().eq(WorldCupPaymentParticipant::getWorldCupId, search.getId())
- .eq(WorldCupPaymentParticipant::getAlreadyEntered, 0));
+ );
ArrayList<WorldCupUserListVo> worldCupUserListVos = new ArrayList<>();
if(list.size()>0){
- List<Integer> collect = list.stream().map(WorldCupPaymentParticipant::getAppUserId).collect(Collectors.toList());
+ List<Long> collect = list.stream().map(WorldCupPaymentParticipant::getParticipantId).collect(Collectors.toList());
search.setUseIds(collect);
- List<AppUser> appUsers = appUserClient.queryAppUserByIds(search);
+ List<TStudent> appUsers = appUserClient.queryAppUserByIds(search);
- for (AppUser appUser : appUsers) {
+ for (TStudent appUser : appUsers) {
WorldCupUserListVo worldCupUserListVo = new WorldCupUserListVo();
- WorldCupPaymentParticipant worldCupPaymentParticipant = list.stream().filter(e -> e.getAppUserId().equals(appUser.getId())).findFirst().orElse(null);
+ WorldCupPaymentParticipant worldCupPaymentParticipant = list.stream().filter(e -> e.getParticipantId().toString().equals(appUser.getId().toString())).findFirst().orElse(null);
if(worldCupPaymentParticipant!=null){
- worldCupUserListVo.setId(worldCupPaymentParticipant.getId());
+ worldCupUserListVo.setId(worldCupPaymentParticipant.getId().toString());
worldCupUserListVo.setName(appUser.getName());
- worldCupUserListVo.setSex(appUser.getGender() !=null && appUser.getGender()==2?"女":"男");
+ worldCupUserListVo.setSex(appUser.getSex() !=null && appUser.getSex()==2?"女":"男");
worldCupUserListVo.setPhone(appUser.getPhone());
worldCupUserListVo.setIdCard(appUser.getIdCard());
// 当前日期和生日计算年龄
@@ -1257,4 +1270,166 @@
}
return worldCupUserListVos;
}
+
+
+
+
+ @PostMapping("/worldCup/savaData1")
+ public void savaData1(@RequestBody SaveData saveData) throws ParseException {
+
+ WorldCup worldCup = worldCupService.getById(saveData.getId());
+
+ String redStr = saveData.getRedStr();
+ String blueStr = saveData.getBlueStr();
+ String[] red = redStr.split(",");
+ String[] blue = blueStr.split(",");
+ ArrayList<String> list = new ArrayList<>(red.length+blue.length);
+ list.addAll(Arrays.asList(red));
+ list.addAll(Arrays.asList(blue));
+ String time = saveData.getTime();
+ String[] split = time.split(" - ");
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date startTime = simpleDateFormat.parse(split[0]);
+ Date endTime = simpleDateFormat.parse(split[1]);
+ Integer blueScore = saveData.getBlueScore();
+ Integer redScore = saveData.getRedScore();
+ List<WorldCupPaymentParticipant> list1 = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().in(WorldCupPaymentParticipant::getId, list));
+ String code = UUIDUtil.getTimeStr() + UUIDUtil.getNumberRandom(3);
+ ArrayList<WorldCupCompetitor> worldCupCompetitors = new ArrayList<>(red.length + blue.length);
+ for (String s : blue) {
+ WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().toString().equals(s)).findFirst().orElse(null);
+ if(worldCupPaymentParticipant!=null){
+ WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor();
+ worldCupCompetitor.setCode(code);
+ worldCupCompetitor.setWorldCupId(saveData.getId().intValue());
+ worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType());
+ worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId());
+ worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId());
+ worldCupCompetitor.setParticipant(1);
+ worldCupCompetitor.setStartTime(startTime);
+ worldCupCompetitor.setEndTime(endTime);
+ worldCupCompetitor.setOurScore(blueScore);
+ if(blueScore>redScore){
+ worldCupCompetitor.setMatchResult(1);
+ worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getWinIntegral());
+ vo.setType(7);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ if(blueScore.equals(redScore)){
+ worldCupCompetitor.setMatchResult(0);
+ worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getDrawIntegral());
+ vo.setType(9);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ if(blueScore<redScore){
+ worldCupCompetitor.setMatchResult(-1);
+ worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getLoseIntegral());
+ vo.setType(10);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ worldCupCompetitor.setOpponentScore(redScore);
+ worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getParticipationIntegral());
+ vo.setType(6);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+
+ worldCupCompetitorService.save(worldCupCompetitor);
+ worldCupCompetitors.add(worldCupCompetitor);
+ }
+ }
+
+ for (String s : red) {
+ WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().toString().equals(s)).findFirst().orElse(null);
+ if(worldCupPaymentParticipant!=null){
+ WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor();
+ worldCupCompetitor.setCode(code);
+ worldCupCompetitor.setWorldCupId(saveData.getId().intValue());
+ worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType());
+ worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId());
+ worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId());
+ worldCupCompetitor.setParticipant(2);
+ worldCupCompetitor.setStartTime(startTime);
+ worldCupCompetitor.setEndTime(endTime);
+ worldCupCompetitor.setOurScore(redScore);
+ if(redScore>blueScore){
+ worldCupCompetitor.setMatchResult(1);
+ worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getWinIntegral());
+ vo.setType(7);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ if(blueScore.equals(redScore)){
+ worldCupCompetitor.setMatchResult(0);
+ worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getDrawIntegral());
+ vo.setType(9);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ if(redScore<blueScore){
+ worldCupCompetitor.setMatchResult(-1);
+ worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getLoseIntegral());
+ vo.setType(10);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ worldCupCompetitor.setOpponentScore(blueScore);
+ worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getParticipationIntegral());
+ vo.setType(6);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+
+ worldCupCompetitorService.save(worldCupCompetitor);
+ worldCupCompetitors.add(worldCupCompetitor);
+ }
+ }
+
+ //添加勋章
+ for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) {
+ Integer appUserId = worldCupCompetitor.getAppUserId();
+ //常胜将军
+ if(1 == worldCupCompetitor.getMatchResult()){
+ int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId).eq("matchResult", 1));
+ StudentHonor studentHonor = new StudentHonor();
+ studentHonor.setAppUserId(appUserId);
+ studentHonor.setHonorType(5);
+ studentHonor.setNumber(count);
+ studentHonorClient.saveStudentHonor(studentHonor);
+ }
+ //越战越勇
+ int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId));
+ StudentHonor studentHonor = new StudentHonor();
+ studentHonor.setAppUserId(appUserId);
+ studentHonor.setHonorType(6);
+ studentHonor.setNumber(count);
+ studentHonorClient.saveStudentHonor(studentHonor);
+ }
+
+ }
}
--
Gitblit v1.7.1