From c52f83ef5f702b3c178881d3eee72267c77e7751 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期三, 24 七月 2024 17:26:46 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java |   39 ++++
 cloud-server-account/src/main/resources/mapper/TStudentMapper.xml                                           |    2 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java                    |    3 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java      |   19 ++
 cloud-server-management/src/main/webapp/static/modular/system/finance/income.js                             |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java   |  124 ++++++++++++---
 cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html                             |    7 
 cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java                               |    3 
 cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml                                           |   12 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java   |  133 ++++++++++++++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java   |   59 +++++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java                       |    2 
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java            |   19 ++
 13 files changed, 381 insertions(+), 43 deletions(-)

diff --git a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
index 7bd94c7..3a87c3b 100644
--- a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
@@ -65,16 +65,14 @@
             <if test="query.salesmanUser!=null and query.salesmanUser!= ''">
                 and t1.salesmanUserId = #{query.salesmanUser}
             </if>
-            <if test="query.insertType!=null and query.insertType!= ''">
-                and t1.insertType = #{query.insertType}
-            </if>
-            <if test="query.typeId!=null and query.typeId!= ''">
-                and t1.addUserId = #{query.typeId}
+            <if test="query.userIds!=null and query.userIds.size()>0">
+                t1.id in
+                <foreach collection="query.userIds" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
             </if>
             and t1.state != 3
         </where>
-
-
     </select>
     <select id="getSelects" resultType="com.dsh.account.dto.SelectDto">
         SELECT ts.id ,ts.`name` as value
diff --git a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml b/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
index 078ea64..4447d04 100644
--- a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
@@ -35,7 +35,6 @@
         t_student st
         LEFT JOIN t_app_user us on st.appUserId = us.id) o
         <where>
-
             <if test="item.province != null and item.province != ''">
                 and o.province = #{item.province}
             </if>
@@ -57,6 +56,7 @@
                     #{id}
                 </foreach>
             </if>
+        and o.state!=3
         </where>
 
     </select>
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;
+    }
 
 
 
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index 8b004c1..82f7bde 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -110,11 +110,12 @@
         // 获取到赛事id集合 去重
         List<Integer> collect = comIds.stream().distinct().collect(Collectors.toList());
         // 根据赛事id 查询赛事支付记录 获取用户ids
-        if (collect.size() == 0) {
+        if (collect.isEmpty()) {
             return new ArrayList<>();
         } else {
             List<Integer> userIds = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
-                    .in("competitionId", collect)).stream()
+                    .in("competitionId", collect)
+                            .eq("payStatus",2)).stream()
                     .map(PaymentCompetition::getAppUserId).collect(Collectors.toList());
             return userIds;
         }
@@ -133,6 +134,20 @@
             List<Integer> operatorId = cttService.list(new QueryWrapper<Competition>()
                     .eq("operatorId", operatorId1)).stream().map(Competition::getId).collect(Collectors.toList());
             query.setUserIds(operatorId);
+        } else if (query.getStoreId() != null) {
+            List<Competition> list = cttService.list(new QueryWrapper<Competition>());
+            List<Integer> integers = new ArrayList<>();
+            for (Competition competition : list) {
+                for (String s : competition.getStoreId().split(",")) {
+                    if (s.equals(""+query.getStoreId())){
+                        integers.add(competition.getId());
+                    }
+                }
+            }
+            if (integers.isEmpty()){
+                integers.add(-1);
+            }
+            query.setUserIds(integers);
         }
         List<PaymentCompetition> paymentCompetitions = paymentCompetitionService.listAll(query);
         List<PaymentCompetition> result = new ArrayList<>();
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
index 597b4f1..f6a0238 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
@@ -72,7 +72,8 @@
             if (courseIds.size() == 0) {
                 return new ArrayList<>();
             } else {
-                List<Integer> userIds = tcppmenService.list(new QueryWrapper<TCoursePackagePayment>().in("coursePackageId", courseIds))
+                List<Integer> userIds = tcppmenService.list(new QueryWrapper<TCoursePackagePayment>().in("coursePackageId", courseIds)
+                                .eq("payStatus",2))
                         .stream().map(TCoursePackagePayment::getAppUserId).collect(Collectors.toList());
                 return userIds;
             }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
index b6f7a22..2ac69c3 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
@@ -1,10 +1,13 @@
 package com.dsh.course.feignClient.communityWorldCup;
 
 import com.dsh.course.feignClient.communityWorldCup.Model.*;
+import com.dsh.guns.modular.system.model.WorldCupQuery;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -13,8 +16,24 @@
  */
 @FeignClient("mb-cloud-communityWorldCup")
 public interface WorldCupClient {
+    @PostMapping("/worldCup/getWorldCupIncome")
+    List<WorldCupIncomeVO> getWorldCupIncome( WorldCupQuery query);
 
     /**
+     * 门店角色:查询属于门店的学员
+     * @param storeIds
+     * @return
+     */
+    @PostMapping("/worldCup/getStudentIds")
+    List<Integer> getStudentIds(StoreIds storeIds);
+    /**
+     * 门店角色:查询属于门店的会员
+     * @param storeIds
+     * @return
+     */
+    @PostMapping("/worldCup/getUserIds")
+    List<Integer> getUserIds(StoreIds storeIds);
+    /**
      * 获取比赛管理列表页数据
      * @param worldCupListAll
      * @return
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
index 27b13d2..fa40e6e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
@@ -13,6 +13,8 @@
 import com.dsh.course.feignClient.activity.model.BodySideAppointment;
 import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment;
 import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO;
+import com.dsh.course.feignClient.communityWorldCup.Model.StoreIds;
+import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
 import com.dsh.course.feignClient.competition.CompetitionClient;
 import com.dsh.course.feignClient.competition.model.Competition;
 import com.dsh.course.feignClient.competition.model.ListQuery;
@@ -167,6 +169,8 @@
         return PREFIX + "TAppUser_edit.html";
     }
 
+    @Autowired
+    private WorldCupClient worldCupClient;
     /**
      * 获取所有用户信息
      * @return
@@ -212,14 +216,69 @@
             List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
             // 获取游戏记录 拿到用户ids
             List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            // 查询世界杯记录 获取用户ids
+            StoreIds storeIds1 = new StoreIds();
+            storeIds1.setStoreIds(storeIds);
+            List<Integer> userIds = worldCupClient.getUserIds(storeIds1);
             // 用户ids
             List<Integer> users = new ArrayList<>();
             users.addAll(list);
             users.addAll(siteUsers);
             users.addAll(cpUsers);
             users.addAll(gameUsers);
+            users.addAll(userIds);
             // 去重后的用户id
             List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
+            if (collect.isEmpty()){
+                collect.add(-1);
+            }
+            queryAppUser.setUserIds(collect);
+//            List<QueryAppUserVO> queryAppUserVOS1 = new ArrayList<>();
+//            // 根据用户消费记录 去查询用户ids
+//            for (Integer integer : collect) {
+//                if (!collect1.contains(integer)){
+//                    TAppUser tAppUser = appUserClient.queryAppUser1(integer);
+//                    QueryAppUserVO queryAppUserVO = new QueryAppUserVO();
+//                    BeanUtils.copyProperties(tAppUser,queryAppUserVO);
+//                    queryAppUserVOS.add(queryAppUserVO);
+//                }
+//            }
+        }
+        if (objectType == 3){
+            // 获取运营商下的所有门店id集合
+            List<Integer> storeIds = new ArrayList<>();
+            storeIds.add(objectId);
+            // 根据门店id集合查询 属于该运营商下的门店举办的赛事
+            ListQuery listQuery = new ListQuery();
+            listQuery.setIds(storeIds);
+            // 通过门店ids 获取赛事的支付记录 获取到用户的ids
+            List<Integer> list = competitionClient.getUserIds(listQuery);
+            // 获取场地预约记录 拿到用户ids
+            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds)
+                            .ne("status",0)
+                            .ne("status",5)
+                    )
+                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
+            // 获取课程购买记录 拿到用户ids
+            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
+            // 获取游戏记录 拿到用户ids
+            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            StoreIds storeIds1 = new StoreIds();
+            storeIds1.setStoreIds(storeIds);
+            // 查询世界杯记录 获取用户ids
+            List<Integer> userIds = worldCupClient.getUserIds(storeIds1);
+            // 用户ids
+            List<Integer> users = new ArrayList<>();
+            users.addAll(list);
+            users.addAll(siteUsers);
+            users.addAll(cpUsers);
+            users.addAll(gameUsers);
+            users.addAll(userIds);
+            // 去重后的用户id
+            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
+            if (collect.isEmpty()){
+                collect.add(-1);
+            }
             queryAppUser.setUserIds(collect);
 //            List<QueryAppUserVO> queryAppUserVOS1 = new ArrayList<>();
 //            // 根据用户消费记录 去查询用户ids
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
index 98ae1de..f039285 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -1,5 +1,7 @@
 package com.dsh.guns.modular.system.controller.code;
 import com.dsh.course.feignClient.account.*;
+import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupIncomeVO;
+import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
 import com.dsh.course.feignClient.competition.model.Competition;
 import com.dsh.course.feignClient.competition.model.CompetitionQuery;
 import com.dsh.course.feignClient.competition.model.PaymentCompetition;
@@ -36,6 +38,8 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -237,12 +241,14 @@
         model.addAttribute("roleType",objectType);
         return PREFIX + "Income.html";
     }
+    @Autowired
+    private WorldCupClient worldCupClient;
     /**
      * 获取收入管理列表
      */
     @RequestMapping(value = "/incomeListAll")
     @ResponseBody
-    public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) {
+    public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) throws ParseException {
 
         // 充值记录查询query
         RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
@@ -260,6 +266,8 @@
         IncomeQuery incomeQuery = new IncomeQuery();
         // 场地预约记录查询query
         SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
+        // 世界杯记录查询query
+        WorldCupQuery worldCupQuery = new WorldCupQuery();
         AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
         appUserByNameAndPhoneDTO.setUserName(userName);
         if (userName!=null){
@@ -272,6 +280,7 @@
                 query.setUserIds(collect);
                 incomeQuery.setUserIds(collect);
                 siteBookingQuery.setUserIds(collect);
+                worldCupQuery.setUserIds(collect);
             }
         }
         if (amount==null || amount.equals("")){
@@ -280,13 +289,16 @@
             rechargeRecordsQuery.setAmount(null);
             competitionQuery.setAmount(null);
             incomeQuery.setAmount(null);
+            worldCupQuery.setAmount(null);
         }else {
             siteBookingQuery.setAmount(new BigDecimal(amount));
             query.setAmount(new BigDecimal(amount));
             rechargeRecordsQuery.setAmount(new BigDecimal(amount));
             competitionQuery.setAmount(new BigDecimal(amount));
             incomeQuery.setAmount(new BigDecimal(amount));
+            worldCupQuery.setAmount(new BigDecimal(amount));
         }
+
         if (UserExt.getUser().getObjectType()==2){
             // 拿到门店集合id
             List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
@@ -296,16 +308,23 @@
             competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
             siteBookingQuery.setStoreIds(operatorId);
         }
+        if (UserExt.getUser().getObjectType()==3){
+            // 拿到门店集合id
+            List<Integer> integers = new ArrayList<>();
+            integers.add(UserExt.getUser().getObjectId());
+            siteBookingQuery.setStoreIds(integers);
+            query.setStoresIds(integers);
+            competitionQuery.setStoreId(UserExt.getUser().getObjectId());
+        }
 
         siteBookingQuery.setTime(time);
         query.setRegisterTime(time);
         rechargeRecordsQuery.setTime(time);
         competitionQuery.setTime(time);
         incomeQuery.setTime(time);
+        worldCupQuery.setTime(time);
         Integer roleType = UserExt.getUser().getObjectType();
-        IncomeVO incomeVO = new IncomeVO();
         List<IncomeVO> incomeVOS = new ArrayList<>();
-
             if ( incomeType==null || incomeType == 1){
             // 会员支付记录
             List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
@@ -315,7 +334,7 @@
                     }
                     TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
                     IncomeVO temp = new IncomeVO();
-                    temp.setId(vipPayment.getId());
+                    temp.setId(vipPayment.getId().toString());
                     if (tAppUser!=null){
                         if (tAppUser.getProvince()!=null){
                             temp.setProvince(tAppUser.getProvince());
@@ -346,7 +365,7 @@
                     }
                     TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
                     IncomeVO temp = new IncomeVO();
-                    temp.setId(rechargeRecordsVO.getId().intValue());
+                    temp.setId(rechargeRecordsVO.getId().toString());
                     if (tAppUser!=null){
                         if (tAppUser.getProvince()!=null){
                             temp.setProvince(tAppUser.getProvince());
@@ -377,7 +396,7 @@
                     }
                     TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
                     IncomeVO temp = new IncomeVO();
-                    temp.setId(registerOrderVO.getId().intValue());
+                    temp.setId(registerOrderVO.getId().toString());
                     if (tAppUser!=null){
                         if (tAppUser.getProvince()!=null){
                             temp.setProvince(tAppUser.getProvince());
@@ -396,11 +415,16 @@
                         temp.setAmount(registerOrderVO.getMoney());
                     }
                     temp.setIncomeType(3);
-                    temp.setState(registerOrderVO.getPayStatus());
+                    if (registerOrderVO.getPayStatus() == 1){
+                        temp.setState(2);
+                    }
+                    if (registerOrderVO.getPayStatus() == 2){
+                        temp.setState(1);
+                    }
                     incomeVOS.add(temp);
                 }
             }
-            if(roleType !=3) {
+
                 if (incomeType == null || incomeType == 4) {
                     // 报名活动
                     List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
@@ -430,7 +454,7 @@
 
                             temp.setStoreName(substring);
                         }
-                        temp.setId(competition.getId().intValue());
+                        temp.setId(competition.getId().toString());
                         if (tAppUser!=null){
                             if (tAppUser.getProvince()!=null){
                                 temp.setProvince(tAppUser.getProvince());
@@ -446,11 +470,15 @@
                             temp.setAmount(new BigDecimal(competition.getAmount().toString()));
                         }
                         temp.setIncomeType(4);
-                        temp.setState(competition.getPayStatus());
+                        if (competition.getPayStatus() == 1){
+                            temp.setState(2);
+                        }else if (competition.getPayStatus() == 2){
+                            temp.setState(1);
+                        }
                         incomeVOS.add(temp);
                     }
                 }
-            }
+
             if (incomeType == null || incomeType == 5) {
                 // 预约场地
                 List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
@@ -464,7 +492,7 @@
                     TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
                     Store store = storeClient.getStoreById(siteBooking.getStoreId());
 
-                    temp.setId(siteBooking.getId());
+                    temp.setId(siteBooking.getId().toString());
                     temp.setProvince(siteBooking.getProvince());
                     temp.setCity(siteBooking.getCity());
                     temp.setStoreName(store.getName());
@@ -487,6 +515,25 @@
                     incomeVOS.add(temp);
                 }
             }
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        if (roleType == 1 && (incomeType == null || incomeType == 6)){
+                List<WorldCupIncomeVO> worldCupIncome = worldCupClient.getWorldCupIncome(worldCupQuery);
+                for (WorldCupIncomeVO worldCupIncomeVO : worldCupIncome) {
+                    IncomeVO temp = new IncomeVO();
+                    temp.setId(worldCupIncomeVO.getId());
+                    temp.setProvince(worldCupIncomeVO.getProvince());
+                    temp.setCity(worldCupIncomeVO.getCity());
+                    temp.setStoreName(worldCupIncomeVO.getStoreName());
+                    temp.setPayUser(worldCupIncomeVO.getUserName());
+                    temp.setPhone(worldCupIncomeVO.getPhone());
+                    temp.setAmount(new BigDecimal(worldCupIncomeVO.getAmount()));
+                    temp.setIncomeType(6);
+                    temp.setState(1);
+                    temp.setInsertTime(simpleDateFormat.parse(worldCupIncomeVO.getPayTime()));
+                    incomeVOS.add(temp);
+                }
+            }
         return incomeVOS;
     }
 
@@ -495,7 +542,7 @@
      */
     @RequestMapping(value = "/getIncomeData")
     @ResponseBody
-    public Object getIncomeData(String time,Integer incomeType,String userName,String amount) {
+    public Object getIncomeData(String time,Integer incomeType,String userName,String amount) throws ParseException {
         // 充值记录查询query
         RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
         // 报名课程查询query
@@ -510,6 +557,8 @@
         IncomeQuery incomeQuery = new IncomeQuery();
         // 场地预约记录查询query
         SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
+        // 世界杯查询query
+        WorldCupQuery worldCupQuery = new WorldCupQuery();
         AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
         appUserByNameAndPhoneDTO.setUserName(userName);
         if (userName!=null){
@@ -522,6 +571,7 @@
                 query.setUserIds(collect);
                 incomeQuery.setUserIds(collect);
                 siteBookingQuery.setUserIds(collect);
+                worldCupQuery.setUserIds(collect);
             }
         }
         if (amount==null || amount.equals("")){
@@ -530,12 +580,14 @@
             rechargeRecordsQuery.setAmount(null);
             competitionQuery.setAmount(null);
             incomeQuery.setAmount(null);
+            worldCupQuery.setAmount(null);
         }else {
             siteBookingQuery.setAmount(new BigDecimal(amount));
             query.setAmount(new BigDecimal(amount));
             rechargeRecordsQuery.setAmount(new BigDecimal(amount));
             competitionQuery.setAmount(new BigDecimal(amount));
             incomeQuery.setAmount(new BigDecimal(amount));
+            worldCupQuery.setAmount(new BigDecimal(amount));
         }
         if (UserExt.getUser().getObjectType()==2){
             // 拿到门店集合id
@@ -546,16 +598,22 @@
             competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
             siteBookingQuery.setStoreIds(operatorId);
         }
-
+        if (UserExt.getUser().getObjectType()==3){
+            // 拿到门店集合id
+            List<Integer> integers = new ArrayList<>();
+            integers.add(UserExt.getUser().getObjectId());
+            siteBookingQuery.setStoreIds(integers);
+            query.setStoresIds(integers);
+            competitionQuery.setStoreId(UserExt.getUser().getObjectId());
+        }
         siteBookingQuery.setTime(time);
         query.setRegisterTime(time);
         rechargeRecordsQuery.setTime(time);
         competitionQuery.setTime(time);
         incomeQuery.setTime(time);
+        worldCupQuery.setTime(time);
         Integer roleType = UserExt.getUser().getObjectType();
-        IncomeVO incomeVO = new IncomeVO();
         List<IncomeVO> incomeVOS = new ArrayList<>();
-
         if ( incomeType==null || incomeType == 1){
             // 会员支付记录
             List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
@@ -565,7 +623,7 @@
                 }
                 TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
                 IncomeVO temp = new IncomeVO();
-                temp.setId(vipPayment.getId());
+                temp.setId(vipPayment.getId().toString());
                 if (tAppUser!=null){
                     if (tAppUser.getProvince()!=null){
                         temp.setProvince(tAppUser.getProvince());
@@ -596,7 +654,7 @@
                 }
                 TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
                 IncomeVO temp = new IncomeVO();
-                temp.setId(rechargeRecordsVO.getId().intValue());
+                temp.setId(rechargeRecordsVO.getId().toString());
                 if (tAppUser!=null){
                     if (tAppUser.getProvince()!=null){
                         temp.setProvince(tAppUser.getProvince());
@@ -627,7 +685,7 @@
                 }
                 TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
                 IncomeVO temp = new IncomeVO();
-                temp.setId(registerOrderVO.getId().intValue());
+                temp.setId(registerOrderVO.getId().toString());
                 if (registerOrderVO.getPayStatus()==2) {
                     temp.setState(2);
                 } else {
@@ -655,7 +713,6 @@
                 incomeVOS.add(temp);
             }
         }
-        if(roleType !=3) {
             if (incomeType == null || incomeType == 4) {
                 // 报名活动
                 List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
@@ -690,7 +747,7 @@
                     } else {
                         temp.setState(1);
                     }
-                    temp.setId(competition.getId().intValue());
+                    temp.setId(competition.getId().toString());
                     if (tAppUser!=null){
                         if (tAppUser.getProvince()!=null){
                             temp.setProvince(tAppUser.getProvince());
@@ -710,7 +767,6 @@
                     incomeVOS.add(temp);
                 }
             }
-        }
         if (incomeType == null || incomeType == 5) {
             // 预约场地
             List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
@@ -724,7 +780,7 @@
                 TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
                 Store store = storeClient.getStoreById(siteBooking.getStoreId());
 
-                temp.setId(siteBooking.getId());
+                temp.setId(siteBooking.getId().toString());
                 temp.setProvince(siteBooking.getProvince());
                 temp.setCity(siteBooking.getCity());
                 temp.setStoreName(store.getName());
@@ -747,9 +803,25 @@
                 incomeVOS.add(temp);
             }
         }
-
-        BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
-
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        if (roleType == 1 && (incomeType == null || incomeType == 6)){
+            List<WorldCupIncomeVO> worldCupIncome = worldCupClient.getWorldCupIncome(worldCupQuery);
+            for (WorldCupIncomeVO worldCupIncomeVO : worldCupIncome) {
+                IncomeVO temp = new IncomeVO();
+                temp.setId(worldCupIncomeVO.getId());
+                temp.setProvince(worldCupIncomeVO.getProvince());
+                temp.setCity(worldCupIncomeVO.getCity());
+                temp.setStoreName(worldCupIncomeVO.getStoreName());
+                temp.setPayUser(worldCupIncomeVO.getUserName());
+                temp.setPhone(worldCupIncomeVO.getPhone());
+                temp.setAmount(new BigDecimal(worldCupIncomeVO.getAmount()));
+                temp.setIncomeType(6);
+                temp.setState(1);
+                temp.setInsertTime(simpleDateFormat.parse(worldCupIncomeVO.getPayTime()));
+                incomeVOS.add(temp);
+            }
+        }
+         BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
         for (IncomeVO vo : incomeVOS) {
             if (vo.getAmount() == null ){
                 BigDecimal temp = BigDecimal.ZERO;
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
index e110d25..05e06df 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -9,6 +9,8 @@
 import com.dsh.course.feignClient.account.AppUserClient;
 import com.dsh.course.feignClient.account.StudentClient;
 import com.dsh.course.feignClient.account.model.TAppUser;
+import com.dsh.course.feignClient.communityWorldCup.Model.StoreIds;
+import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
 import com.dsh.course.feignClient.competition.CompetitionClient;
 import com.dsh.course.feignClient.competition.model.ListQuery;
 import com.dsh.course.feignClient.course.CoursePackageClient;
@@ -389,6 +391,8 @@
     private ISiteBookingService siteBookingService;
     @Autowired
     private BallClient ballClient;
+    @Autowired
+    private WorldCupClient worldCupClient;
     /**
      * 获取列表
      */
@@ -398,11 +402,39 @@
         List<Integer> ids = new ArrayList<>();
 
         if(UserExt.getUser().getObjectType()==3){
+            List<Integer> storeIds = new ArrayList<>();
+            storeIds.add(UserExt.getUser().getObjectId());
+            ListQuery listQuery = new ListQuery();
+            listQuery.setIds(storeIds);
+            // 赛事
+            List<Integer> list = competitionClient.getUserIds(listQuery);
+            // 获取场地预约记录 拿到用户ids
+            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds))
+                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
+            // 获取课程购买记录 拿到用户ids
+            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
+            // 获取游戏记录 拿到用户ids
+            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            // 世界杯参与记录 拿到用户ids
+            StoreIds req = new StoreIds();
+            req.setStoreIds(storeIds);
+            List<Integer> studentIds = worldCupClient.getStudentIds(req);
+            // 用户ids
+            List<Integer> users = new ArrayList<>();
+            users.addAll(list);
+            users.addAll(siteUsers);
+            users.addAll(cpUsers);
+            users.addAll(gameUsers);
+            users.addAll(studentIds);
+            // 去重后的用户id
+            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
             ids = appUserClient.getUserStore(UserExt.getUser().getObjectId());
+            ids.addAll(collect);
+            List<Integer> collect1 = ids.stream().distinct().collect(Collectors.toList());
             if(ids.size()==0){
                 ids.add(-1);
             }
-            search.setIds(ids);
+            search.setIds(collect1);
         }
         if(UserExt.getUser().getObjectType()==2){
             // 获取运营商下的所有门店id集合
@@ -422,12 +454,17 @@
             List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
             // 获取游戏记录 拿到用户ids
             List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            // 世界杯参与记录 拿到学员ids
+            StoreIds req = new StoreIds();
+            req.setStoreIds(storeIds);
+            List<Integer> studentIds = worldCupClient.getStudentIds(req);
             // 用户ids
             List<Integer> users = new ArrayList<>();
             users.addAll(list);
             users.addAll(siteUsers);
             users.addAll(cpUsers);
             users.addAll(gameUsers);
+            users.addAll(studentIds);
             // 去重后的用户id
             List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
             ids = appUserClient.getUserYYs(UserExt.getUser().getObjectId());
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
index 2538a07..b42bef9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
@@ -22,7 +22,7 @@
               formatter:function (data) {return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地"}[data]}},
           {title:  '状态', field: 'state', visible: true, align: 'center', valign: 'middle',formatter:function (data) {return{1:"已支付",2:"未支付"}[data]}}
      */
-    private Integer id;
+    private String id;
     private String province;
     private String city;
     private String storeName;
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html
index 4d2ad36..b015ebb 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html
@@ -22,10 +22,13 @@
                                 <option value="2">充值</option>
                                 @}
                                 <option value="3">报名课程</option>
-                                @if(roleType != 3){
+
                                 <option value="4">报名赛事活动</option>
-                                @}
+
                                 <option value="5">预约场地</option>
+                                @if(roleType == 1){
+                                <option value="6">世界杯</option>
+                                @}
                             </#SelectCon>
                         </div>
                             <div class="col-sm-3">
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js b/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js
index e427dbb..317fad4 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js
@@ -25,7 +25,7 @@
         {title:  '消费时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'},
         {title:  '收入类型', field: 'incomeType', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
-                return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地"}[data]
+                return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地",6:"世界杯"}[data]
             }
         },
         {title:  '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
index ae37dce..84b2775 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
@@ -87,7 +87,8 @@
             return new ArrayList<>();
         } else {
             // 根据游戏id获取游戏记录 获取用户Ids
-            List<Integer> userId = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gamesId))
+            List<Integer> userId = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gamesId)
+                            .eq("status",1))
                     .stream().map(TGameRecord::getUserId).collect(Collectors.toList());
             return userId;
         }

--
Gitblit v1.7.1