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/controller/WorldCupController.java | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 391 insertions(+), 16 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 aa10f8f..bf8431e 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
@@ -3,11 +3,18 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
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;
@@ -19,10 +26,9 @@
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;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -37,9 +43,13 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
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.*;
import java.util.stream.Collectors;
@@ -99,10 +109,15 @@
@Resource
private GameClient gameClient;
+ @Autowired
+ private UserIntegralChangesClient userIntegralChangesClient;
+
+ @Autowired
+ private StudentHonorClient studentHonorClient;
+
/**
* 查询社区世界杯收入--管理后台
- * @param storeId
* @return
*/
@ResponseBody
@@ -189,6 +204,9 @@
BeanUtils.copyProperties(worldCupStore,worldCupStoreVO);
// 查询世界杯活动名称
WorldCup byId = worldCupService.getById(worldCupStore.getWorldCupId());
+ if (byId==null){
+ continue;
+ }
if (byId.getStatus()==3 || byId.getStatus()==4){
continue;
}
@@ -269,6 +287,16 @@
if(0 == isStudent){
isStudent = 2;
}
+ WorldCup worldCup = worldCupService.getById(worldCupPeople.getWorldCupId());
+ if(null == worldCup){
+ return ResultUtil.error("当前比赛不存在");
+ }
+ if(worldCup.getStartTime().getTime()>System.currentTimeMillis() || worldCup.getEndTime().getTime()<System.currentTimeMillis()){
+ return ResultUtil.error("二维码仅支持在赛事有效期使用");
+ }
+
+
+
WorldCupPaymentParticipant worldCupPaymentParticipant = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>()
.eq("worldCupId", worldCupPeople.getWorldCupId()).eq("participantId", id).eq("participantType", isStudent)
.orderByDesc("createTime").last(" limit 0, 1"));
@@ -346,6 +374,18 @@
})
public ResultUtil startWorldCup(StartWorldCup startWorldCup){
return worldCupService.startWorldCup(startWorldCup);
+ }
+ @ResponseBody
+ @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 = "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);
}
@@ -445,23 +485,66 @@
}
}
-
+ @ResponseBody
+ @PostMapping("/base/worldCup/wxPayWorldCupCallback")
+ public void wxPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
+ System.err.println("微信回调");
+ try {
+ Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+ if (null != map) {
+ String code = map.get("out_trade_no");
+ String transaction_id = map.get("transaction_id");
+ String result = map.get("result");
+ ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
+ if (resultUtil.getCode() == 200) {
+ PrintWriter out = response.getWriter();
+ out.println(result);
+ out.flush();
+ out.close();
+ } else {
+ log.error("社区世界杯报名微信支付回业务处理异常:" + resultUtil.getMsg());
+ }
+ } else {
+ log.error("社区世界杯报名微信支付回调解析异常");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
/**
* 微信支付回调
*/
@ResponseBody
- @PostMapping("/base/worldCup/wxPayWorldCupCallback")
- public void wxPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
+ @PostMapping("/base/worldCup/wxPayWorldCupCallback1")
+ public void wxPayWorldCupCallback1(HttpServletRequest request, HttpServletResponse response){
try {
- Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
- if(null != map){
- String code = map.get("out_trade_no");
- String transaction_id = map.get("transaction_id");
- String result = map.get("result");
+ System.err.println("微信回调");
+ System.err.println("请求" + request);
+ BufferedReader reader = request.getReader();
+ String string1 = reader.toString();
+ System.err.println("请求reader" + string1);
+ StringBuilder requestBody = new StringBuilder();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ requestBody.append(line);
+ }
+ System.err.println("全部请求体" + requestBody);
+ JSONObject jsonObject = JSONObject.parseObject(requestBody.toString());
+ JSONObject resource = jsonObject.getJSONObject("resource");
+
+ AesUtil aesUtil = new AesUtil(WxV3PayConfig.apiV3Key.getBytes(StandardCharsets.UTF_8));
+ String decryptedData = aesUtil.decryptToString(resource.getString("associated_data").getBytes(StandardCharsets.UTF_8), resource.getString("nonce").getBytes(StandardCharsets.UTF_8),
+ resource.getString("ciphertext"));
+ System.err.println("微信解密的字符串信息" + decryptedData);
+ JSONObject jsonInfo = (JSONObject) JSONObject.parse(decryptedData);
+ String code = jsonInfo.getString("out_trade_no");
+ String transaction_id = jsonInfo.getString("transaction_id");
+ String trade_state = jsonInfo.getString("trade_state");
+ if (trade_state.equals("SUCCESS")) {
ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
if(resultUtil.getCode() == 200){
PrintWriter out = response.getWriter();
- out.println(result);
+ out.println("SUCCESS");
out.flush();
out.close();
}else{
@@ -536,6 +619,8 @@
if(null == uid){
return ResultUtil.success();
}
+ System.err.println("11111"+entrantRank);
+
entrantRank.setAppUserId(uid);
EntrantRankVo entrantRank1 = worldCupCompetitorService.getEntrantRank(entrantRank);
return ResultUtil.success(entrantRank1);
@@ -604,7 +689,7 @@
@ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "Long"),
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil cancelMyWorldCup(Long id){
+ public ResultUtil cancelMyWorldCup(Long id) throws Exception {
return worldCupPaymentService.cancelMyWorldCup(id);
}
@@ -636,8 +721,51 @@
if(null == uid){
return ResultUtil.tokenErr();
}
+ System.err.println("22222"+worldCupRank);
+
worldCupRank.setAppUserId(uid);
List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank);
+ System.err.println("排名数据"+worldCupRank1);
+ return ResultUtil.success(worldCupRank1);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+ @ResponseBody
+ @PostMapping("/api/worldCup/getWorldCupListFromRank")
+ @ApiOperation(value = "获取报名的赛事 排名使用【3.1】", tags = {"APP-个人中心"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<List<WorldCupListVo>> getWorldCupListFromRank(MyWorldCupList myWorldCupList){
+ try {
+ System.err.println("33333"+myWorldCupList);
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ List<WorldCupListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupListFromRank(myWorldCupList);
+ return ResultUtil.success(worldCupRank1);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+ @ResponseBody
+ @PostMapping("/api/worldCup/getWorldCupCodeListId")
+ @ApiOperation(value = "获取赛事的赛点 非智慧比赛用 【3.1】", tags = {"APP-个人中心"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<List<WorldCupCodeListVo>> getWorldCupCodeListId(Integer worldCupId){
+ try {
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ List<WorldCupCodeListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupCodeListId(worldCupId);
return ResultUtil.success(worldCupRank1);
}catch (Exception e){
e.printStackTrace();
@@ -892,7 +1020,7 @@
*/
@ResponseBody
@PostMapping("/worldCup/cancelWorldCupRefund")
- public void cancelWorldCupRefund(@RequestBody Integer id){
+ public void cancelWorldCupRefund(@RequestBody Integer id) throws Exception {
worldCupService.cancelWorldCupRefund(id);
}
@@ -936,6 +1064,54 @@
out.println(result);
out.flush();
out.close();
+ }
+ }
+ /**
+ * 取消赛事后微信退款回调微信V3回调
+ * @param request
+ * @param response
+ */
+ @ResponseBody
+ @PostMapping("/base/worldCup/wxRefundWorldCupCallback1")
+ public void wxRefundWorldCupCallback1(HttpServletRequest request, HttpServletResponse response){
+ try {
+ System.err.println("微信回调");
+ System.err.println("请求" + request);
+ BufferedReader reader = request.getReader();
+ String string1 = reader.toString();
+ System.err.println("请求reader" + string1);
+ StringBuilder requestBody = new StringBuilder();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ requestBody.append(line);
+ }
+ System.err.println("全部请求体" + requestBody);
+ JSONObject jsonObject = JSONObject.parseObject(requestBody.toString());
+ JSONObject resource = jsonObject.getJSONObject("resource");
+
+ AesUtil aesUtil = new AesUtil(WxV3PayConfig.apiV3Key.getBytes(StandardCharsets.UTF_8));
+ String decryptedData = aesUtil.decryptToString(resource.getString("associated_data").getBytes(StandardCharsets.UTF_8), resource.getString("nonce").getBytes(StandardCharsets.UTF_8),
+ resource.getString("ciphertext"));
+ System.err.println("微信解密的字符串信息" + decryptedData);
+ JSONObject jsonInfo = (JSONObject) JSONObject.parse(decryptedData);
+ String code = jsonInfo.getString("out_trade_no");
+ String transaction_id = jsonInfo.getString("transaction_id");
+ String refund_status = jsonInfo.getString("refund_status");
+ String out_refund_no = jsonInfo.getString("out_refund_no");
+ if (refund_status.equals("SUCCESS")) {
+ WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no));
+ worldCupPayment.setRefundOrderNo(code);
+ worldCupPayment.setRefundTime(new Date());
+ worldCupPayment.setPayStatus(3);
+ worldCupPayment.setWorldCupId(null);
+ worldCupPaymentService.updateById(worldCupPayment);
+ PrintWriter out = response.getWriter();
+ out.write("SUCCESS");
+ out.flush();
+ out.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
@@ -1063,4 +1239,203 @@
.last(" and createTime between '" + sdf.format(getWorldCupPayment.getStartTime()) + "' and '" + sdf.format(getWorldCupPayment.getEndTime()) + "' order by createTime desc"));
return list;
}
+
+
+ @PostMapping("/worldCup/userDetailsOfSearch")
+ @ResponseBody
+ public List<WorldCupUserListVo> userDetailsOfSearch(@RequestBody UserDetailsOfSearch search){
+ // 已报名的用户
+ List<WorldCupPaymentParticipant> list = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().eq(WorldCupPaymentParticipant::getWorldCupId, search.getId())
+ );
+ ArrayList<WorldCupUserListVo> worldCupUserListVos = new ArrayList<>();
+ if(list.size()>0){
+ List<Long> collect = list.stream().map(WorldCupPaymentParticipant::getParticipantId).collect(Collectors.toList());
+ search.setUseIds(collect);
+ List<TStudent> appUsers = appUserClient.queryAppUserByIds(search);
+
+ for (TStudent appUser : appUsers) {
+ WorldCupUserListVo worldCupUserListVo = new WorldCupUserListVo();
+ WorldCupPaymentParticipant worldCupPaymentParticipant = list.stream().filter(e -> e.getParticipantId().toString().equals(appUser.getId().toString())).findFirst().orElse(null);
+ if(worldCupPaymentParticipant!=null){
+ worldCupUserListVo.setId(worldCupPaymentParticipant.getId().toString());
+ worldCupUserListVo.setName(appUser.getName());
+ worldCupUserListVo.setSex(appUser.getSex() !=null && appUser.getSex()==2?"女":"男");
+ worldCupUserListVo.setPhone(appUser.getPhone());
+ worldCupUserListVo.setIdCard(appUser.getIdCard());
+ // 当前日期和生日计算年龄
+ Date birthday = appUser.getBirthday();
+ LocalDate now = LocalDate.now();
+ if(birthday!=null){
+ int age = now.getYear() - (birthday.getYear()+1900);
+ worldCupUserListVo.setAge(age);
+ }
+ worldCupUserListVos.add(worldCupUserListVo);
+ }
+ }
+
+ }
+ 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