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/IWorldCupCompetitorService.java | 4
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 27 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_edit.html | 17 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 17 ++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/UserIntegralChangesClient.java | 22 ++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java | 84 ++++++++++
cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml | 16 +
cloud-server-account/src/main/resources/mapper/RefereeMapper.xml | 4
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/model/SaveUserIntegralChangesVo.java | 23 ++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java | 5
cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js | 18 -
cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml | 53 ++++++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 18 +
cloud-server-management/src/main/webapp/static/modular/system/referee/referee.js | 2
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java | 8 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java | 90 +++++++----
cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java | 10 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_add.html | 17 +
19 files changed, 363 insertions(+), 76 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index 08e324e..881caf8 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -94,6 +94,16 @@
detail.setConsumeName("智慧球场开始游戏");
detail.setDetailsType(1);
break;
+ case 6:
+ detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("参与社区世界杯");
+ detail.setDetailsType(2);
+ break;
+ case 7:
+ detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("社区世界杯获胜");
+ detail.setDetailsType(2);
+ break;
default:
break;
}
diff --git a/cloud-server-account/src/main/resources/mapper/RefereeMapper.xml b/cloud-server-account/src/main/resources/mapper/RefereeMapper.xml
index 361fe3e..3e95913 100644
--- a/cloud-server-account/src/main/resources/mapper/RefereeMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/RefereeMapper.xml
@@ -22,7 +22,7 @@
and provinceCode = #{item.provinceCode}
</if>
<if test="null != item.cityCode and '' != item.cityCode">
- and provinceCode = #{cityCode}
+ and cityCode = #{cityCode}
</if>
order by createTime desc limit #{item.offset}, #{item.limit}
</select>
@@ -42,7 +42,7 @@
and provinceCode = #{item.provinceCode}
</if>
<if test="null != item.cityCode and '' != item.cityCode">
- and provinceCode = #{cityCode}
+ and cityCode = #{cityCode}
</if>
</select>
</mapper>
\ No newline at end of file
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 98b3825..83b204e 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -914,6 +914,23 @@
}
//======================================================
}
+ }else{
+ // todo 返回门店id 和场地id
+ // 查询指定场地
+ List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>()
+ .eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId()));
+ // 门店
+ ArrayList<Integer> list3 = new ArrayList<>();
+ // 场地
+ ArrayList<Integer> list4 = new ArrayList<>();
+ for (PointsMerchandiseStore temp : list) {
+ Integer storeId = temp.getStoreId();
+ Integer siteId = temp.getSiteId();
+ list3.add(storeId);
+ list4.add(siteId);
+ }
+ detailsResponse.setRid(list4);
+ detailsResponse.setSid(list3);
}
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 48dcc85..e0b910f 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
@@ -413,7 +413,11 @@
public List<WorldCupStore> getWorldCupStoreList(@RequestBody Integer storeId){
List<WorldCup> worldCupList = worldCupService.list(new QueryWrapper<WorldCup>().in("status", Arrays.asList(1, 2)));
List<Integer> collect = worldCupList.stream().map(WorldCup::getId).collect(Collectors.toList());
- return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect).eq("isOpen", 1));
+ if(collect.size() == 0){
+ return new ArrayList<>();
+ }
+ return worldCupStoreService.list(new QueryWrapper<WorldCupStore>().eq("storeId", storeId).in("worldCupId", collect)
+ .eq("isOpen", 1));
}
@@ -700,8 +704,8 @@
*/
@ResponseBody
@PostMapping("/base/worldCup/endWorldCupCallback")
- public void endWorldCupCallback(String custom, Integer red_score, Integer blue){
- worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue);
+ public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score){
+ worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue_score);
}
@@ -806,6 +810,14 @@
}
+ @ResponseBody
+ @PostMapping("/worldCup/getUserGameRecordList")
+ public Map<String, Object> getUserGameRecordList(@RequestBody WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList){
+ return worldCupPaymentParticipantService.getUserGameRecordList(worldCupGameStatisticsInfoList);
+ }
+
+
+
/**
* 获取用户比赛记录明细
* @param userGameRecordList
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/UserIntegralChangesClient.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/UserIntegralChangesClient.java
new file mode 100644
index 0000000..e95ded5
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/UserIntegralChangesClient.java
@@ -0,0 +1,22 @@
+package com.dsh.communityWorldCup.feignclient.account;
+
+import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/7/12 11:40
+ */
+@FeignClient("mb-cloud-account")
+public interface UserIntegralChangesClient {
+
+
+ /**
+ * 保存用户积分变动记录
+ *
+ * @param vo
+ */
+ @PostMapping("/userIntegralChanges/saveUserIntegralChanges")
+ void saveUserIntegralChanges(SaveUserIntegralChangesVo vo);
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/model/SaveUserIntegralChangesVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/model/SaveUserIntegralChangesVo.java
new file mode 100644
index 0000000..a08dc96
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/model/SaveUserIntegralChangesVo.java
@@ -0,0 +1,23 @@
+package com.dsh.communityWorldCup.feignclient.account.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/7/12 11:26
+ */
+@Data
+public class SaveUserIntegralChangesVo {
+ /**
+ * 用户id
+ */
+ private Integer appUserId;
+ /**
+ * 积分类型(1=赠送积分,2=兑换商品,3=完成课后练习,4=观看教学视频,5=参与世界杯,6=世界杯获胜)
+ */
+ private Integer type;
+ /**
+ * 积分
+ */
+ private Integer integral;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
index db21514..bcd630c 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
@@ -63,4 +63,8 @@
* @return
*/
List<Map<String, Object>> userGameRecordList(@Param("name") String name);
+
+
+
+ Map<String, Object> getUserGameRecordList(@Param("participantType") Integer participantType, @Param("participantId") Long participantId);
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
index 27956c7..b1d8a6a 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentParticipantMapper.java
@@ -7,6 +7,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* @author zhibing.pu
@@ -36,4 +37,8 @@
int getCount(@Param("worldCupId") Integer worldCupId, @Param("worldCupPaymentId")List<Long> worldCupPaymentId);
+
+
+
+ List<Map<String, Object>> getUserGameRecordList();
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
index 705a27b..e8d7e7b 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
@@ -43,9 +43,9 @@
* 比赛结束后通知处理逻辑
* @param custom
* @param red_score
- * @param blue
+ * @param blue_score
*/
- void endWorldCupCallback(String custom, Integer red_score, Integer blue);
+ void endWorldCupCallback(String custom, Integer red_score, Integer blue_score);
/**
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
index 6682aac..a83170a 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
@@ -59,4 +59,12 @@
int getCount(Integer worldCupId, List<Long> worldCupPaymentId);
+
+
+ /**
+ * 获取用户列表
+ * @param worldCupGameStatisticsInfoList
+ * @return
+ */
+ Map<String, Object> getUserGameRecordList(WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList);
}
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);
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
index cb4a6b4..8538ff5 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
@@ -14,6 +14,7 @@
import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
import com.dsh.communityWorldCup.feignclient.other.StoreClient;
import com.dsh.communityWorldCup.feignclient.other.model.Store;
+import com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper;
import com.dsh.communityWorldCup.mapper.WorldCupPaymentParticipantMapper;
import com.dsh.communityWorldCup.model.MyWorldCupInfo;
import com.dsh.communityWorldCup.model.MyWorldCupList;
@@ -66,6 +67,9 @@
@Resource
private AppUserClient appUserClient;
+
+ @Resource
+ private WorldCupCompetitorMapper worldCupCompetitorMapper;
@@ -334,7 +338,7 @@
}
limit += offset;
- map.put("rows", list2.subList(offset, list2.size() >= limit ? limit : list.size()));
+ map.put("rows", list2.subList(offset, list2.size() >= limit ? limit : list2.size()));
map.put("total", list2.size());
return map;
}
@@ -343,4 +347,82 @@
public int getCount(Integer worldCupId, List<Long> worldCupPaymentId) {
return this.baseMapper.getCount(worldCupId, worldCupPaymentId);
}
+
+
+ /**
+ * 获取用户列表
+ * @param worldCupGameStatisticsInfoList
+ * @return
+ */
+ @Override
+ public Map<String, Object> getUserGameRecordList(WorldCupGameStatisticsInfoList worldCupGameStatisticsInfoList) {
+ Map<String, Object> map1 = new HashMap<>();
+ String name = worldCupGameStatisticsInfoList.getName();
+ String phone = worldCupGameStatisticsInfoList.getPhone();
+ String idcard = worldCupGameStatisticsInfoList.getIdcard();
+ List<Map<String, Object>> mapList = this.baseMapper.getUserGameRecordList();
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (int i = 0; i < mapList.size(); i++) {
+ Map<String, Object> map = mapList.get(i);
+ Integer participantType = Integer.valueOf(map.get("participantType").toString());
+ Long participantId = Long.valueOf(map.get("participantId").toString());
+ Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
+ Map<String, Object> userGameRecordList = worldCupCompetitorMapper.getUserGameRecordList(participantType, participantId);
+ Integer totalSession = 0;
+ Integer win = 0;
+ if(null != userGameRecordList){
+ totalSession = Integer.valueOf(null != userGameRecordList.get("totalSession") ? userGameRecordList.get("totalSession").toString() : "0");
+ win = Integer.valueOf(null != userGameRecordList.get("win") ? userGameRecordList.get("win").toString() : "0");
+ }else{
+ userGameRecordList = new HashMap<>();
+ }
+ userGameRecordList.put("totalSession", totalSession);
+ userGameRecordList.put("win", win);
+ Integer lose = totalSession - win;
+ userGameRecordList.put("lose", lose);
+ userGameRecordList.put("winRate", totalSession == 0 ? 0 : win / totalSession * 100);
+ userGameRecordList.put("participantType", participantType);
+ userGameRecordList.put("participantId", participantId);
+ AppUser appUser = appUserClient.getAppUser(appUserId);
+ userGameRecordList.put("province", appUser.getProvince() + appUser.getCity());
+ if(1 == participantType){
+ TStudent tStudent = studentClient.queryById(participantId.intValue());
+ if(ToolUtil.isNotEmpty(name) && tStudent.getName().indexOf(name) == -1){
+ continue;
+ }
+ if(ToolUtil.isNotEmpty(phone) && tStudent.getPhone().indexOf(phone) == -1){
+ continue;
+ }
+ if(ToolUtil.isNotEmpty(idcard) && tStudent.getIdCard().indexOf(idcard) == -1){
+ continue;
+ }
+
+ userGameRecordList.put("name", tStudent.getName());
+ userGameRecordList.put("phone", ToolUtil.isEmpty(tStudent.getPhone()) ? appUser.getPhone() : tStudent.getPhone());
+ userGameRecordList.put("idcard", tStudent.getIdCard());
+ }else{
+ Participant participant = participantClient.getParticipant(participantId);
+ if(ToolUtil.isNotEmpty(name) && participant.getName().indexOf(name) == -1){
+ continue;
+ }
+ if(ToolUtil.isNotEmpty(phone) && participant.getPhone().indexOf(phone) == -1){
+ continue;
+ }
+ if(ToolUtil.isNotEmpty(idcard) && participant.getIdcard().indexOf(idcard) == -1){
+ continue;
+ }
+
+ userGameRecordList.put("name", participant.getName());
+ userGameRecordList.put("phone", ToolUtil.isNotEmpty(participant.getPhone()) ? participant.getPhone() : appUser.getPhone());
+ userGameRecordList.put("idcard", participant.getIdcard());
+ }
+ list.add(userGameRecordList);
+ }
+ map1.put("total", list.size());
+ Integer offset = worldCupGameStatisticsInfoList.getOffset();
+ Integer limit = worldCupGameStatisticsInfoList.getLimit();
+ limit += offset;
+ map1.put("rows", list.subList(offset, list.size() >= limit ? limit : list.size()));
+ return map1;
+ }
}
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 a5cce66..15be0c6 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
@@ -9,7 +9,9 @@
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.UserIntegralChangesClient;
import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
+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;
@@ -72,6 +74,9 @@
@Resource
private GameClient gameClient;
+
+ @Resource
+ private UserIntegralChangesClient userIntegralChangesClient;
@@ -149,6 +154,12 @@
AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId());
appUser.setIntegral(appUser.getIntegral() + worldCup.getParticipationIntegral());
appUserClient.updateAppUser(appUser);
+ //增加积分明细
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(appUser.getId());
+ vo.setIntegral(worldCup.getParticipationIntegral());
+ vo.setType(6);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
}
worldCupCompetitorService.save(worldCupCompetitor);
@@ -166,7 +177,7 @@
map.put("api_url", "http://221.182.45.100:56666/communityWorldCup/base/worldCup/endWorldCupCallback");
map.put("custom", JSON.toJSONString(ids));
- String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/batterGame", map);
+ String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/quickStart", map);
JSONObject jsonObject = JSONObject.parseObject(s);
Integer code1 = jsonObject.getInteger("code");
String message = jsonObject.getString("message");
@@ -185,9 +196,17 @@
*/
@Override
public Integer getCompletedWorldCupTips(Integer uid) {
- int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>()
- .eq("appUserId", uid).eq("tips", 0).isNotNull("endTime"));
- return count;
+ List<WorldCupCompetitor> list = worldCupCompetitorService.list(new QueryWrapper<WorldCupCompetitor>()
+ .eq("appUserId", uid).eq("tips", 0).isNotNull("endTime")
+ .orderByDesc("endTime").last(" limit 0, 1"));
+ list.forEach(v->{
+ v.setWorldCupId(null);
+ v.setTips(1);
+ });
+ if(list.size() > 0){
+ worldCupCompetitorService.updateBatchById(list);
+ }
+ return list.size();
}
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
index 63b9516..08488b7 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
@@ -173,7 +173,14 @@
<select id="worldCupGameStatisticsInfoList" resultType="map">
- select * from (
+ select
+ aa.participantType,
+ aa.participantId,
+ aa.appUserId,
+ aa.totalSession,
+ aa.win,
+ aa.winRate
+ from (
select
a.participantType,
a.participantId,
@@ -228,4 +235,48 @@
</if>
order by a.startTime desc
</select>
+
+
+
+ <select id="getUserGameRecordList" resultType="map">
+ select
+ a.participantType,
+ a.participantId,
+ a.appUserId,
+ a.num as totalSession,
+ ifnull(b.num, 0) as win,
+ (ifnull(b.num, 0) / a.num * 100) as winRate
+ from (
+ select
+ participantType,
+ participantId,
+ appUserId,
+ count(*) as num
+ from t_world_cup_competitor
+ where 1 = 1
+ <if test="null != participantType">
+ and participantType = #{participantType}
+ </if>
+ <if test="null != participantId">
+ and participantId = #{participantId}
+ </if>
+ group by participantType, participantId, appUserId
+ ) as a
+ left join (
+ select
+ participantType,
+ participantId,
+ appUserId,
+ count(*) as num
+ from t_world_cup_competitor
+ where matchResult = 1
+ <if test="null != participantType">
+ and participantType = #{participantType}
+ </if>
+ <if test="null != participantId">
+ and participantId = #{participantId}
+ </if>
+ group by participantType, participantId, appUserId
+ ) as b on (a.participantId = b.participantId and a.participantType = b.participantType)
+ </select>
</mapper>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
index 84ba1d5..c4e9636 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentParticipantMapper.xml
@@ -42,13 +42,23 @@
<select id="getCount" resultType="int">
select count(*) from (
select
- worldCupPaymentId,
+ participantId,
participantType
- from t_world_cup_payment_participant1 where worldCupId = #{worldCupId} and worldCupPaymentId in
+ from t_world_cup_payment_participant where worldCupId = #{worldCupId} and worldCupPaymentId in
<foreach collection="worldCupPaymentId" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
- group by worldCupPaymentId, participantType
+ group by participantId, participantType
) as aa
</select>
+
+
+
+ <select id="getUserGameRecordList" resultType="map">
+ select
+ participantType,
+ participantId,
+ appUserId
+ from t_world_cup_payment_participant group by participantType, participantId, appUserId
+ </select>
</mapper>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_add.html
index 33d19cc..be55692 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_add.html
@@ -15,6 +15,9 @@
border: none;
text-indent: 10px;
}
+ .el-upload__input{
+ display: none;
+ }
</style>
<div class="ibox float-e-margins">
<div class="ibox-content">
@@ -101,13 +104,13 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">*基础报名人数:</label>
+ <label class="col-sm-3 control-label">基础报名人数:</label>
<div class="col-sm-3">
<input class="form-control" id="basePeople" type="number" min="0">
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">*参赛可获积分:</label>
+ <label class="col-sm-3 control-label">参赛可获积分:</label>
<div class="col-sm-3">
<input class="form-control" id="participationIntegral" type="number" min="0">
</div>
@@ -131,7 +134,7 @@
<input type="hidden" id="latitude"/>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">参与赛点:</label>
+ <label class="col-sm-3 control-label">*参与赛点:</label>
<div class="col-sm-7">
<button onclick="WorldCupInfo.openStore()">选择门店</button>
</div>
@@ -152,13 +155,13 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">赛事简介</label>
+ <label class="col-sm-3 control-label">*赛事简介</label>
<div class="col-sm-7">
<textarea class="form-control" id="intro" style="height:200px"></textarea>
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label head-scu-label">比赛封面图</label>
+ <label class="col-sm-3 control-label head-scu-label">*比赛封面图</label>
<div class="col-sm-2">
<div id="coverImgPreId">
<div><img width="100px" height="100px" src="${ctxPath}/img/NoPIC.png"></div>
@@ -170,7 +173,7 @@
</div>
</div>
<input type="hidden" id="coverImg" />
- <label class="col-sm-1 control-label">首页默认背景图</label>
+ <label class="col-sm-1 control-label">*首页默认背景图</label>
<div class="col-sm-2">
<div id="homeBackdropImgPreId">
<div><img width="100px" height="100px" src="${ctxPath}/img/NoPIC.png"></div>
@@ -204,7 +207,7 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">比赛详情</label>
+ <label class="col-sm-3 control-label">*比赛详情</label>
<div class="col-sm-7" style="padding: 0px;">
<textarea id="content" style="height: 800px;width: 100%;"></textarea>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_edit.html
index 5890a5a..c11509e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCup/worldCup_edit.html
@@ -15,6 +15,9 @@
border: none;
text-indent: 10px;
}
+ .el-upload__input{
+ display: none;
+ }
</style>
<div class="ibox float-e-margins">
<div class="ibox-content">
@@ -102,13 +105,13 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">*基础报名人数:</label>
+ <label class="col-sm-3 control-label">基础报名人数:</label>
<div class="col-sm-3">
<input class="form-control" id="basePeople" type="number" min="0" value="${item.basePeople}">
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">*参赛可获积分:</label>
+ <label class="col-sm-3 control-label">参赛可获积分:</label>
<div class="col-sm-3">
<input class="form-control" id="participationIntegral" type="number" min="0" value="${item.participationIntegral}">
</div>
@@ -132,7 +135,7 @@
<input type="hidden" id="latitude" value="${item.lat}"/>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">参与赛点:</label>
+ <label class="col-sm-3 control-label">*参与赛点:</label>
<div class="col-sm-7">
<button onclick="WorldCupInfo.openStore()">选择门店</button>
</div>
@@ -153,13 +156,13 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">赛事简介</label>
+ <label class="col-sm-3 control-label">*赛事简介</label>
<div class="col-sm-7">
<textarea class="form-control" id="intro" style="height:200px">${item.intro}</textarea>
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label head-scu-label">比赛封面图</label>
+ <label class="col-sm-3 control-label head-scu-label">*比赛封面图</label>
<div class="col-sm-2">
<div id="coverImgPreId">
<div><img width="100px" height="100px" src="${item.coverImg}"></div>
@@ -171,7 +174,7 @@
</div>
</div>
<input type="hidden" id="coverImg" value="${item.coverImg}"/>
- <label class="col-sm-1 control-label">首页默认背景图</label>
+ <label class="col-sm-1 control-label">*首页默认背景图</label>
<div class="col-sm-2">
<div id="homeBackdropImgPreId">
<div><img width="100px" height="100px" src="${item.homeBackdropImg}"></div>
@@ -206,7 +209,7 @@
</div>
</div>
<div class="form-group">
- <label class="col-sm-3 control-label">比赛详情</label>
+ <label class="col-sm-3 control-label">*比赛详情</label>
<div class="col-sm-7" style="padding: 0px;">
<textarea id="content" style="height: 800px;width: 100%;">${item.content}</textarea>
</div>
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/referee/referee.js b/cloud-server-management/src/main/webapp/static/modular/system/referee/referee.js
index a08a483..610e32b 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/referee/referee.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/referee/referee.js
@@ -376,7 +376,7 @@
Referee.search = function () {
var queryData = {};
- queryData['userName'] = $("#name").val();
+ queryData['name'] = $("#name").val();
queryData['phone'] =$("#phone").val();
queryData['provinceCode'] =$("#provinceCode").val();
queryData['cityCode'] =$("#cityCode").val();
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
index 9e9d079..c12f83f 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/worldCup_info.js
@@ -92,16 +92,13 @@
return
}
if(null == basePeople || '' == basePeople){
- Feng.error("请填写有效的基础报名人数");
- return
+ basePeople = 0;
}
if(null == participationIntegral || '' == participationIntegral){
- Feng.error("请填写有效的参赛可获积分");
- return
+ participationIntegral = 0;
}
if(null == winIntegral || '' == winIntegral){
- Feng.error("请填写有效的胜场可获积分");
- return
+ winIntegral = 0;
}
if(null == address || '' == address){
Feng.error("请填写有效的比赛地点");
@@ -255,16 +252,13 @@
return
}
if(null == basePeople || '' == basePeople){
- Feng.error("请填写有效的基础报名人数");
- return
+ basePeople = 0;
}
if(null == participationIntegral || '' == participationIntegral){
- Feng.error("请填写有效的参赛可获积分");
- return
+ participationIntegral = 0;
}
if(null == winIntegral || '' == winIntegral){
- Feng.error("请填写有效的胜场可获积分");
- return
+ winIntegral = 0;
}
if(null == address || '' == address){
Feng.error("请填写有效的比赛地点");
--
Gitblit v1.7.1