From f4894c44735012e51b7f3ade126b5bf9d7757202 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 11 四月 2025 21:37:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 169 insertions(+), 0 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 2efebb0..ccec4d5 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
@@ -1,6 +1,7 @@
package com.dsh.communityWorldCup.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.communityWorldCup.entity.*;
@@ -30,6 +31,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -98,7 +100,77 @@
private GameClient gameClient;
+ /**
+ * 查询社区世界杯收入--管理后台
+ * @param storeId
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCup/getWorldCupIncome")
+ public List<WorldCupIncomeVO> getWorldCupIncome(@RequestBody WorldCupQuery query){
+ String STime = null;
+ String ETime = null;
+ if (StringUtils.hasLength(query.getTime())) {
+ STime = query.getTime().split(" - ")[0] + " 00:00:00";
+ ETime = query.getTime().split(" - ")[1] + " 23:59:59";
+ }
+ QueryWrapper<WorldCupPayment> in = new QueryWrapper<WorldCupPayment>()
+ .eq("payStatus", 2)
+ ;
+ if (STime != null){
+ in.between("payTime", STime, ETime);
+ }
+ if (query.getUserIds() != null){
+ if (!query.getUserIds().isEmpty()){
+ in.in("appUserId", query.getUserIds());
+ }
+ }
+
+ if (query.getAmount() != null){
+ in.le("amount", query.getAmount().toString());
+ }
+ List<WorldCupPayment> list = worldCupPaymentService.list(in);
+ List<WorldCupIncomeVO> res = new ArrayList<>();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ for (WorldCupPayment worldCupPayment : list) {
+ if (worldCupPayment.getPayType() == 0){
+ // 不计算免费的
+ continue;
+ }
+ WorldCupIncomeVO worldCupIncomeVO = new WorldCupIncomeVO();
+ WorldCup byId = worldCupService.getById(worldCupPayment.getWorldCupId());
+ if (byId!=null){
+ worldCupIncomeVO.setProvince(byId.getProvince());
+ worldCupIncomeVO.setCity(byId.getCity());
+ List<WorldCupStore> worldCupId = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
+ .eq("worldCupId", byId.getId()));
+ StringBuilder temp = new StringBuilder();
+ for (WorldCupStore worldCupStore : worldCupId) {
+ Store store = storeClient.queryStoreById(worldCupStore.getStoreId());
+ if (store!=null){
+ temp.append(store.getName()).append(",");
+ }
+ }
+ if (temp.length() > 0){
+ worldCupIncomeVO.setStoreName(temp.substring(0, temp.length() - 1));
+ }
+ }
+ AppUser appUser = appUserClient.getAppUser(worldCupPayment.getAppUserId());
+ worldCupIncomeVO.setId(worldCupPayment.getId().toString());
+ if (appUser!=null){
+ worldCupIncomeVO.setUserName(appUser.getName());
+ worldCupIncomeVO.setPhone(appUser.getPhone());
+ }
+ if (worldCupPayment.getPayTime()!=null){
+ String format = simpleDateFormat.format(worldCupPayment.getPayTime());
+ worldCupIncomeVO.setPayTime(format);
+ }
+ worldCupIncomeVO.setAmount(worldCupPayment.getAmount().toString());
+ res.add(worldCupIncomeVO);
+ }
+ return res;
+ }
/**
* 根据门店id获取门店关系数据
@@ -117,6 +189,9 @@
BeanUtils.copyProperties(worldCupStore,worldCupStoreVO);
// 查询世界杯活动名称
WorldCup byId = worldCupService.getById(worldCupStore.getWorldCupId());
+ if (byId==null){
+ continue;
+ }
if (byId.getStatus()==3 || byId.getStatus()==4){
continue;
}
@@ -609,6 +684,67 @@
public Map<String, Object> getWorldCupListAll(@RequestBody WorldCupListAll worldCupListAll){
return worldCupService.getWorldCupListAll(worldCupListAll);
}
+ /**
+ * 根据门店ids 获取归属学员
+ * @param storeIds
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCup/getStudentIds")
+ public List<Integer> getStudentIds(@RequestBody StoreIds storeIds){
+ List<Integer> res = new ArrayList<>();
+
+ // 获取门店ids 所举办的世界杯ids 查询学员参赛
+ List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
+ .in("storeId", storeIds.getStoreIds())).stream()
+ .map(WorldCupStore::getWorldCupId).collect(Collectors.toList());
+ List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>()
+ .in("worldCupId", collect)
+ .eq("payStatus", 2));
+ for (WorldCupPayment worldCupPayment : list) {
+ JSONArray jsonArray = JSON.parseArray(worldCupPayment.getEntrant());
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer isStudent = jsonObject.getInteger("isStudent");
+ if (isStudent!=1){
+ continue;
+ }
+ Long id = jsonObject.getLong("id");
+ String string = id.toString();
+ res.add(Integer.parseInt(string));
+ }
+ }
+ List<Long> collect1 = worldCupCompetitorService.list(new QueryWrapper<WorldCupCompetitor>()
+ .in("worldCupId", collect)
+ .eq("participantType", 1)).stream()
+ .map(WorldCupCompetitor::getParticipantId).collect(Collectors.toList());
+ // 将collect1中的数据全部转化为Integer类型
+ List<Integer> temp = new ArrayList<>();
+ temp = collect1.stream().map(Long::intValue).collect(Collectors.toList());
+ res.addAll(temp);
+ return res;
+ }
+ /**
+ * 根据门店ids 获取归属用户
+ * @param storeIds
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/worldCup/getUserIds")
+ public List<Integer> getUserIds(@RequestBody StoreIds storeIds){
+ List<Integer> res = new ArrayList<>();
+ // 获取门店ids 所举办的世界杯ids 查询用户
+ List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
+ .in("storeId", storeIds.getStoreIds())).stream()
+ .map(WorldCupStore::getWorldCupId).collect(Collectors.toList());
+ List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>()
+ .in("worldCupId", collect)
+ .eq("payStatus", 2));
+ for (WorldCupPayment worldCupPayment : list) {
+ res.add(worldCupPayment.getAppUserId());
+ }
+ return res;
+ }
@@ -636,6 +772,22 @@
worldCup.setProvinceCode(provinceCode);
worldCup.setCity(city.replace("市", ""));
worldCup.setCityCode(cityCode);
+ String[] split = worldCup.getPayType().split(",");
+ List<String> strings = Arrays.asList(split);
+ if(strings.contains("0")){
+ worldCup.setCash(null);
+ worldCup.setClassHour(null);
+ worldCup.setPaiCoin(null);
+ }
+ if(!strings.contains("1")){
+ worldCup.setCash(null);
+ }
+ if(!strings.contains("2")){
+ worldCup.setPaiCoin(null);
+ }
+ if(!strings.contains("3")){
+ worldCup.setClassHour(null);
+ }
worldCupService.save(worldCup);
return worldCup.getId();
}
@@ -681,6 +833,22 @@
WorldCup worldCup1 = worldCupService.getById(worldCup2.getId());
worldCup2.setCreateTime(worldCup1.getCreateTime());
worldCup2.setMatchNumber(worldCup1.getMatchNumber());
+ String[] split = worldCup2.getPayType().split(",");
+ List<String> strings = Arrays.asList(split);
+ if(strings.contains("0")){
+ worldCup2.setCash(null);
+ worldCup2.setClassHour(null);
+ worldCup2.setPaiCoin(null);
+ }
+ if(!strings.contains("1")){
+ worldCup2.setCash(null);
+ }
+ if(!strings.contains("2")){
+ worldCup2.setPaiCoin(null);
+ }
+ if(!strings.contains("3")){
+ worldCup2.setClassHour(null);
+ }
worldCupService.updateWorldCupAll(worldCup2);
return worldCup2.getId();
}
@@ -738,6 +906,7 @@
@ResponseBody
@PostMapping("/base/worldCup/endWorldCupCallback")
public void endWorldCupCallback(String custom, Integer red_score, Integer blue_score){
+ log.warn("世界杯游戏成绩回调:custom->" + custom + ",red_score->" + red_score + ",blue_score->" + blue_score);
worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue_score);
}
--
Gitblit v1.7.1