From b27efc697f2f81e0d0f247a2708e58af52a5df9b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 23 十月 2025 15:14:33 +0800
Subject: [PATCH] bug修改,后台新增修改用户积分
---
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 142 insertions(+), 5 deletions(-)
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index 08a6eaf..37b6f25 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -4,14 +4,17 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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;
@@ -78,7 +81,11 @@
private GameClient gameClient;
@Resource
+ private StudentHonorClient studentHonorClient;
+
+ @Resource
private UserIntegralChangesClient userIntegralChangesClient;
+
/**
@@ -98,7 +105,19 @@
} else {
worldCupListCoachVo.setDistance(0D);
}
+
+ if(worldCupListCoachVo.getType()!=null && worldCupListCoachVo.getType()==2){
+ // 获取正在进行的赛事
+
+ int size = worldCupCompetitorService.list(new LambdaQueryWrapper<WorldCupCompetitor>().eq(WorldCupCompetitor::getWorldCupId, worldCupListCoachVo.getId())
+ .and(w->w.isNull(WorldCupCompetitor::getEndTime).or(s->s.le(WorldCupCompetitor::getStartTime, new Date()).ge(WorldCupCompetitor::getEndTime, new Date()))).groupBy(WorldCupCompetitor::getCode)).size();
+ worldCupListCoachVo.setNowNum(size);
+ }
+
}
+
+
+
//对查询结果进行距离排序(直线距离)
Collections.sort(worldCupListCoach1, new Comparator<WorldCupListCoachVo>() {
@Override
@@ -129,12 +148,12 @@
}
//1、通过扫码获取的sutuid查询t_game表中的红蓝方sutuid
// 智慧需要判断code
-
- String code = startWorldCup.getCode();
- JSONObject object = JSON.parseObject(code);
- String sutu_id = object.getString("sutu_id");
- TGame tGame = gameClient.getTGameBySutuId(sutu_id);
+ TGame tGame =new TGame();
if (worldCup.getType() == null || worldCup.getType() == 1) {
+ String code = startWorldCup.getCode();
+ JSONObject object = JSON.parseObject(code);
+ String sutu_id = object.getString("sutu_id");
+ tGame = gameClient.getTGameBySutuId(sutu_id);
if (null == tGame) {
return ResultUtil.error("无效的游戏二维码");
}
@@ -218,6 +237,8 @@
map.put("red_sutu_id", tGame.getRed());
map.put("blue_sutu_id", tGame.getBlue());
map.put("api_url", "https://online.daowepark.com:443/communityWorldCup/base/worldCup/endWorldCupCallback");
+// map.put("api_url", "http://221.182.45.100:1234/communityWorldCup/base/worldCup/endWorldCupCallback");
+
map.put("custom", jsonObject.toJSONString());
String s = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/quickStart", map);
@@ -1022,4 +1043,120 @@
public void updateWorldCupAll(WorldCup worldCup) {
this.baseMapper.updateWorldCupAll(worldCup);
}
+
+ @Override
+ public ResultUtil endWorldCup(String custom, Integer red_score, Integer blue_score) {
+ String[] split = custom.split(",");
+ ArrayList<Long> ids = new ArrayList<>();
+ for (String s : split) {
+ ids.add(Long.parseLong(s));
+ }
+ List<WorldCupCompetitor> worldCupCompetitors = worldCupCompetitorService.listByIds(ids);
+ try {
+ WorldCupCompetitor worldCupCompetitor1 = worldCupCompetitors.get(0);
+ WorldCup worldCup = this.getById(worldCupCompetitor1.getWorldCupId());
+ if(worldCup.getType()==null || worldCup.getType() == 1){
+ return ResultUtil.error("非智慧赛事才可以结束比赛");
+ }
+ 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);
+ worldCupCompetitor.setDrawIntegral(0);
+ worldCupCompetitor.setLoseIntegral(0);
+ if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && blue_score.compareTo(red_score) > 0){
+ worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getWinIntegral());
+ vo.setType(7);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }else if(null != worldCup.getDrawIntegral() && 0 < worldCup.getDrawIntegral() && blue_score.compareTo(red_score) == 0){
+ worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getDrawIntegral());
+ vo.setType(9);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }else if(null != worldCup.getLoseIntegral() && 0 < worldCup.getLoseIntegral() && blue_score.compareTo(red_score) < 0){
+ worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getLoseIntegral());
+ vo.setType(10);
+ 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);
+ worldCupCompetitor.setDrawIntegral(0);
+ worldCupCompetitor.setLoseIntegral(0);
+ if(null != worldCup.getWinIntegral() && 0 < worldCup.getWinIntegral() && red_score.compareTo(blue_score) > 0){
+ worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getWinIntegral());
+ vo.setType(7);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }else if(null != worldCup.getDrawIntegral() && 0 < worldCup.getDrawIntegral() && blue_score.compareTo(red_score) == 0){
+ worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getDrawIntegral());
+ vo.setType(9);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }else if(null != worldCup.getLoseIntegral() && 0 < worldCup.getLoseIntegral() && blue_score.compareTo(red_score) < 0){
+ worldCupCompetitor.setDrawIntegral(worldCup.getLoseIntegral());
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(worldCupCompetitor.getAppUserId());
+ vo.setIntegral(worldCup.getLoseIntegral());
+ vo.setType(10);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ worldCupCompetitorService.updateBatchById(worldCupCompetitors);
+
+ //添加勋章
+ 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);
+ }
+ return ResultUtil.success();
+ }
}
--
Gitblit v1.7.1