From 54c2de7b7a4ca46bf186ee6c41485459c1ad59dc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 24 七月 2024 15:30:07 +0800
Subject: [PATCH] 玩湃门店数据权限修改 收入管理增加世界杯记录

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 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 067d8e2..aa10f8f 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获取门店关系数据
@@ -609,6 +681,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;
+    }
 
 
 

--
Gitblit v1.7.1