From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java |  699 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 696 insertions(+), 3 deletions(-)

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 05343e6..98ae1de 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,15 +1,21 @@
 package com.dsh.guns.modular.system.controller.code;
+import com.dsh.course.feignClient.account.*;
+import com.dsh.course.feignClient.competition.model.Competition;
+import com.dsh.course.feignClient.competition.model.CompetitionQuery;
+import com.dsh.course.feignClient.competition.model.PaymentCompetition;
+import com.dsh.course.feignClient.competition.model.TCompetition;
+import com.dsh.course.feignClient.other.SiteClient;
+import com.google.common.collect.Lists;
 
 import cn.hutool.crypto.SecureUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.dsh.course.feignClient.account.AppUserClient;
-import com.dsh.course.feignClient.account.CityClient;
-import com.dsh.course.feignClient.account.FinanceClient;
 import com.dsh.course.feignClient.account.model.*;
 import com.dsh.course.feignClient.competition.CompetitionClient;
 import com.dsh.course.feignClient.course.CancelledClassesClient;
+import com.dsh.course.feignClient.course.CoursePackagePaymentClient;
+import com.dsh.course.feignClient.other.StoreClient;
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
@@ -18,10 +24,13 @@
 import com.dsh.guns.core.util.ToolUtil;
 import com.dsh.guns.modular.system.model.*;
 import com.dsh.guns.modular.system.service.*;
+import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -30,6 +39,7 @@
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 财务控制器
@@ -50,6 +60,17 @@
     private FinanceClient financeClient;
     @Autowired
     private CancelledClassesClient cancelledClassesClient;
+    @Autowired
+    private StoreClient storeClient;
+    @Autowired
+    private CoursePackagePaymentClient coursePackagePaymentClient;
+    @Autowired
+    private VipPaymentClient vipPaymentClient;
+    @Autowired
+    private CompetitionClient competitionClient;
+    @Autowired
+    private SiteClient siteClient;
+
 
     /**
      * 跳转到充值记录页面
@@ -116,6 +137,68 @@
         return total;
     }
     /**
+     * 获取报名订单统计数据
+     */
+    @RequestMapping(value = "/getData")
+    @ResponseBody
+    public RegisterDataVO getData(String province,String city,Integer storeId,String registerTime
+            ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) {
+        RegisterDataVO registerDataVO = new RegisterDataVO();
+        RegisterOrderQuery query = new RegisterOrderQuery();
+        query.setProvince(province);
+        query.setCity(city);
+        query.setStoreId(storeId);
+        query.setInsertType(UserExt.getUser().getObjectType());
+        if(UserExt.getUser().getObjectType()==2){
+            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId", UserExt.getUser().getObjectId())).stream()
+                    .map(TStore::getId).collect(Collectors.toList());
+            query.setStoresIds(operatorId);
+        }
+        if(UserExt.getUser().getObjectType()==3){
+            query.setStoreId(UserExt.getUser().getObjectId());
+        }
+        query.setRegisterTime(registerTime);
+        query.setUserName(userName);
+        query.setUserIds(Lists.newArrayList());
+        query.setPhone(phone);
+        query.setStudentName(studentName);
+        query.setStudentIds(Lists.newArrayList());
+        query.setCoursePackageName(coursePackageName);
+        query.setSalesName(salesName);
+        query.setOrderSource(orderSource);
+
+        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
+        appUserByNameAndPhoneDTO.setUserName(query.getUserName());
+        appUserByNameAndPhoneDTO.setPhone(query.getPhone());
+        List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO);
+        // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中
+        List<Integer> userIds = tAppUsers.stream()
+                .map(TAppUser::getId) // 使用方法引用获取每个对象的 id
+                .collect(Collectors.toList());
+        query.setUserIds(userIds);
+        if (userIds.size()!=0){
+            List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query);
+            BigDecimal total = new BigDecimal("0.00");
+            BigDecimal result = new BigDecimal("0.00");
+            int playPaiCoin = 0 ;
+            for (RegisterOrderVO rechargeRecordsVO : registerOrderVOS) {
+                if (rechargeRecordsVO.getMoney()!=null){
+                    BigDecimal amount = rechargeRecordsVO.getMoney();
+                    total = total.add(amount); // 将新的值赋给total
+                    result = result.add(amount); // 将新的值赋给result
+                }
+                if (rechargeRecordsVO.getPlayPaiCoin()!=null){
+                    playPaiCoin += rechargeRecordsVO.getPlayPaiCoin();
+                }
+            }
+            registerDataVO.setCashPayment(total);
+            registerDataVO.setTotalOrder(registerOrderVOS.size());
+            registerDataVO.setPlayPaiCoin(playPaiCoin);
+        }
+        return registerDataVO;
+    }
+    /**
      * 跳转到消课记录页面
      */
     @RequestMapping("/cancelledClasses")
@@ -124,6 +207,559 @@
         Integer objectType = UserExt.getUser().getObjectType();
         model.addAttribute("objectType",objectType);
         return PREFIX + "CancelledClasses.html";
+    }
+    /**
+     * 根据市获取门店
+     */
+    @RequestMapping(value = "/getStore")
+    @ResponseBody
+    public List<Store> getStore(String city) {
+        return storeClient.getStore(city);
+    }
+    /**
+     * 跳转到消课记录页面
+     */
+    @RequestMapping("/registrationOrder")
+    public String registrationOrder(Model model) {
+        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",list);
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("userType",objectType);
+        model.addAttribute("roleType",objectType);
+        return PREFIX + "RegistrationOrder.html";
+    }
+    /**
+     * 跳转到消课记录页面
+     */
+    @RequestMapping("/income")
+    public String income(Model model) {
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("roleType",objectType);
+        return PREFIX + "Income.html";
+    }
+    /**
+     * 获取收入管理列表
+     */
+    @RequestMapping(value = "/incomeListAll")
+    @ResponseBody
+    public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) {
+
+        // 充值记录查询query
+        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
+        // 报名课程查询query
+        RegisterOrderQuery query = new RegisterOrderQuery();
+        query.setInsertType(UserExt.getUser().getObjectType());
+        if(UserExt.getUser().getObjectType()==2){
+            query.setStoresIds(storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId",UserExt.getUser().getObjectId())
+            ).stream().map(TStore::getId).collect(Collectors.toList()));
+        }
+        // 赛事活动查询query
+        CompetitionQuery competitionQuery = new CompetitionQuery();
+        // 会员支付查询query
+        IncomeQuery incomeQuery = new IncomeQuery();
+        // 场地预约记录查询query
+        SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
+        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
+        appUserByNameAndPhoneDTO.setUserName(userName);
+        if (userName!=null){
+            if (!userName.equals("")){
+                List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO);
+                // 用户ids
+                List<Integer> collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
+                competitionQuery.setUserIds(collect);
+                rechargeRecordsQuery.setUserIds(collect);
+                query.setUserIds(collect);
+                incomeQuery.setUserIds(collect);
+                siteBookingQuery.setUserIds(collect);
+            }
+        }
+        if (amount==null || amount.equals("")){
+            siteBookingQuery.setAmount(null);
+            query.setAmount(null);
+            rechargeRecordsQuery.setAmount(null);
+            competitionQuery.setAmount(null);
+            incomeQuery.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));
+        }
+        if (UserExt.getUser().getObjectType()==2){
+            // 拿到门店集合id
+            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId", UserExt.getUser().getObjectId())).stream()
+                    .map(TStore::getId).collect(Collectors.toList());
+            query.setStoresIds(operatorId);
+            competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
+            siteBookingQuery.setStoreIds(operatorId);
+        }
+
+        siteBookingQuery.setTime(time);
+        query.setRegisterTime(time);
+        rechargeRecordsQuery.setTime(time);
+        competitionQuery.setTime(time);
+        incomeQuery.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);
+                for (VipPayment vipPayment : vipPayments) {
+                    if (UserExt.getUser().getObjectType()!=1){
+                        break;
+                    }
+                    TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
+                    IncomeVO temp = new IncomeVO();
+                    temp.setId(vipPayment.getId());
+                    if (tAppUser!=null){
+                        if (tAppUser.getProvince()!=null){
+                            temp.setProvince(tAppUser.getProvince());
+                        }
+                        if (tAppUser.getCity()!=null){
+                            temp.setCity(tAppUser.getCity());
+                        }
+                        temp.setPayUser(tAppUser.getName());
+                        temp.setPhone(tAppUser.getPhone());
+                    }
+                    temp.setStoreName("");
+                    temp.setAmount(new BigDecimal(vipPayment.getAmount().toString()));
+                    temp.setIncomeType(1);
+                    temp.setState(vipPayment.getState());
+                    temp.setInsertTime(vipPayment.getInsertTime());
+                    if (UserExt.getUser().getObjectType()!=1){
+                        break;
+                    }
+                    incomeVOS.add(temp);
+                }
+            }
+            if ( incomeType==null || incomeType == 2) {
+                // 充值记录
+                List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery);
+                for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
+                    if (UserExt.getUser().getObjectType()!=1){
+                        break;
+                    }
+                    TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
+                    IncomeVO temp = new IncomeVO();
+                    temp.setId(rechargeRecordsVO.getId().intValue());
+                    if (tAppUser!=null){
+                        if (tAppUser.getProvince()!=null){
+                            temp.setProvince(tAppUser.getProvince());
+                        }
+                        if (tAppUser.getCity()!=null){
+                            temp.setCity(tAppUser.getCity());
+                        }
+                        temp.setPayUser(tAppUser.getName());
+                        temp.setPhone(tAppUser.getPhone());
+                    }
+                    temp.setStoreName("");
+                    temp.setInsertTime(rechargeRecordsVO.getInsertTime());
+                    if (rechargeRecordsVO.getAmount() != null) {
+                        temp.setAmount(rechargeRecordsVO.getAmount());
+                    }
+                    temp.setIncomeType(2);
+                    temp.setState(rechargeRecordsVO.getPayStatus());
+
+                    incomeVOS.add(temp);
+                }
+            }
+            if ( incomeType==null || incomeType == 3) {
+                // 报名课程记录
+                List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query);
+                for (RegisterOrderVO registerOrderVO : registerOrderVOS) {
+                    if (registerOrderVO.getMoney() == null) {
+                        continue;
+                    }
+                    TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
+                    IncomeVO temp = new IncomeVO();
+                    temp.setId(registerOrderVO.getId().intValue());
+                    if (tAppUser!=null){
+                        if (tAppUser.getProvince()!=null){
+                            temp.setProvince(tAppUser.getProvince());
+                        }
+                        if (tAppUser.getCity()!=null){
+                            temp.setCity(tAppUser.getCity());
+                        }
+                        temp.setPayUser(tAppUser.getName());
+                        temp.setPhone(tAppUser.getPhone());
+                    }
+
+                    temp.setStoreName(registerOrderVO.getStoreName());
+
+                    temp.setInsertTime(registerOrderVO.getInsertTime());
+                    if (registerOrderVO.getMoney() != null) {
+                        temp.setAmount(registerOrderVO.getMoney());
+                    }
+                    temp.setIncomeType(3);
+                    temp.setState(registerOrderVO.getPayStatus());
+                    incomeVOS.add(temp);
+                }
+            }
+            if(roleType !=3) {
+                if (incomeType == null || incomeType == 4) {
+                    // 报名活动
+                    List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
+                    for (PaymentCompetition competition : competitions) {
+                        if (competition.getPayStatus() == 3) {
+                            continue;
+                        }
+                        IncomeVO temp = new IncomeVO();
+                        TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
+                        Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
+                        if(null == competition1){
+                            continue;
+                        }
+                        if (!competition1.getStoreId().equals("")){
+                            String[] split = competition1.getStoreId().split(",");
+                            List<Integer> list = new ArrayList<>();
+                            for (String s : split) {
+                                list.add(Integer.valueOf(s));
+                            }
+                            List<TStore> id = storeService.list(new QueryWrapper<TStore>().in("id", list));
+                            StringBuilder storeNames = new StringBuilder("");
+                            for (TStore store : id) {
+                                // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称)
+                                storeNames.append(store.getName() + ",");
+                            }
+                            String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1);
+
+                            temp.setStoreName(substring);
+                        }
+                        temp.setId(competition.getId().intValue());
+                        if (tAppUser!=null){
+                            if (tAppUser.getProvince()!=null){
+                                temp.setProvince(tAppUser.getProvince());
+                            }
+                            if (tAppUser.getCity()!=null){
+                                temp.setCity(tAppUser.getCity());
+                            }
+                            temp.setPayUser(tAppUser.getName());
+                            temp.setPhone(tAppUser.getPhone());
+                        }
+                        temp.setInsertTime(competition.getInsertTime());
+                        if (competition.getAmount() != null) {
+                            temp.setAmount(new BigDecimal(competition.getAmount().toString()));
+                        }
+                        temp.setIncomeType(4);
+                        temp.setState(competition.getPayStatus());
+                        incomeVOS.add(temp);
+                    }
+                }
+            }
+            if (incomeType == null || incomeType == 5) {
+                // 预约场地
+                List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
+                for (SiteBooking siteBooking : siteBookings) {
+                    IncomeVO temp = new IncomeVO();
+                    if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) {
+                        temp.setState(1);
+                    } else {
+                        temp.setState(2);
+                    }
+                    TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
+                    Store store = storeClient.getStoreById(siteBooking.getStoreId());
+
+                    temp.setId(siteBooking.getId());
+                    temp.setProvince(siteBooking.getProvince());
+                    temp.setCity(siteBooking.getCity());
+                    temp.setStoreName(store.getName());
+                    if (tAppUser!=null){
+                        if (tAppUser.getProvince()!=null){
+                            temp.setProvince(tAppUser.getProvince());
+                        }
+                        if (tAppUser.getCity()!=null){
+                            temp.setCity(tAppUser.getCity());
+                        }
+                        temp.setPayUser(tAppUser.getName());
+                        temp.setPhone(tAppUser.getPhone());
+                    }
+
+                    temp.setInsertTime(siteBooking.getInsertTime());
+                    if (siteBooking.getPayMoney() != null) {
+                        temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString()));
+                    }
+                    temp.setIncomeType(5);
+                    incomeVOS.add(temp);
+                }
+            }
+        return incomeVOS;
+    }
+
+    /**
+     * 获取收入管理列表
+     */
+    @RequestMapping(value = "/getIncomeData")
+    @ResponseBody
+    public Object getIncomeData(String time,Integer incomeType,String userName,String amount) {
+        // 充值记录查询query
+        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
+        // 报名课程查询query
+        RegisterOrderQuery query = new RegisterOrderQuery();
+        query.setInsertType(UserExt.getUser().getObjectType());
+        query.setStoresIds(storeService.list(new QueryWrapper<TStore>()
+                .eq("operatorId",UserExt.getUser().getObjectId()))
+        .stream().map(TStore::getId).collect(Collectors.toList()));
+        // 赛事活动查询query
+        CompetitionQuery competitionQuery = new CompetitionQuery();
+        // 会员支付查询query
+        IncomeQuery incomeQuery = new IncomeQuery();
+        // 场地预约记录查询query
+        SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
+        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
+        appUserByNameAndPhoneDTO.setUserName(userName);
+        if (userName!=null){
+            if (!userName.equals("")){
+                List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO);
+                // 用户ids
+                List<Integer> collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
+                competitionQuery.setUserIds(collect);
+                rechargeRecordsQuery.setUserIds(collect);
+                query.setUserIds(collect);
+                incomeQuery.setUserIds(collect);
+                siteBookingQuery.setUserIds(collect);
+            }
+        }
+        if (amount==null || amount.equals("")){
+            siteBookingQuery.setAmount(null);
+            query.setAmount(null);
+            rechargeRecordsQuery.setAmount(null);
+            competitionQuery.setAmount(null);
+            incomeQuery.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));
+        }
+        if (UserExt.getUser().getObjectType()==2){
+            // 拿到门店集合id
+            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId", UserExt.getUser().getObjectId())).stream()
+                    .map(TStore::getId).collect(Collectors.toList());
+            query.setStoresIds(operatorId);
+            competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
+            siteBookingQuery.setStoreIds(operatorId);
+        }
+
+        siteBookingQuery.setTime(time);
+        query.setRegisterTime(time);
+        rechargeRecordsQuery.setTime(time);
+        competitionQuery.setTime(time);
+        incomeQuery.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);
+            for (VipPayment vipPayment : vipPayments) {
+                if (UserExt.getUser().getObjectType()!=1){
+                    break;
+                }
+                TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
+                IncomeVO temp = new IncomeVO();
+                temp.setId(vipPayment.getId());
+                if (tAppUser!=null){
+                    if (tAppUser.getProvince()!=null){
+                        temp.setProvince(tAppUser.getProvince());
+                    }
+                    if (tAppUser.getCity()!=null){
+                        temp.setCity(tAppUser.getCity());
+                    }
+                    temp.setPayUser(tAppUser.getName());
+                    temp.setPhone(tAppUser.getPhone());
+                }
+                temp.setStoreName("");
+                temp.setAmount(new BigDecimal(vipPayment.getAmount().toString()));
+                temp.setIncomeType(1);
+                temp.setState(vipPayment.getState());
+                temp.setInsertTime(vipPayment.getInsertTime());
+                if (UserExt.getUser().getObjectType()!=1){
+                    break;
+                }
+                incomeVOS.add(temp);
+            }
+        }
+        if ( incomeType==null || incomeType == 2) {
+            // 充值记录
+            List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery);
+            for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
+                if (UserExt.getUser().getObjectType()!=1){
+                    break;
+                }
+                TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
+                IncomeVO temp = new IncomeVO();
+                temp.setId(rechargeRecordsVO.getId().intValue());
+                if (tAppUser!=null){
+                    if (tAppUser.getProvince()!=null){
+                        temp.setProvince(tAppUser.getProvince());
+                    }
+                    if (tAppUser.getCity()!=null){
+                        temp.setCity(tAppUser.getCity());
+                    }
+                    temp.setPayUser(tAppUser.getName());
+                    temp.setPhone(tAppUser.getPhone());
+                }
+                temp.setStoreName("");
+                temp.setInsertTime(rechargeRecordsVO.getInsertTime());
+                if (rechargeRecordsVO.getAmount() != null) {
+                    temp.setAmount(rechargeRecordsVO.getAmount());
+                }
+                temp.setIncomeType(2);
+                temp.setState(rechargeRecordsVO.getPayStatus());
+
+                incomeVOS.add(temp);
+            }
+        }
+        if ( incomeType==null || incomeType == 3) {
+            // 报名课程记录
+            List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query);
+            for (RegisterOrderVO registerOrderVO : registerOrderVOS) {
+                if (registerOrderVO.getMoney() == null) {
+                    continue;
+                }
+                TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
+                IncomeVO temp = new IncomeVO();
+                temp.setId(registerOrderVO.getId().intValue());
+                if (registerOrderVO.getPayStatus()==2) {
+                    temp.setState(2);
+                } else {
+                    temp.setState(1);
+                }
+                if (tAppUser!=null){
+                    if (tAppUser.getProvince()!=null){
+                        temp.setProvince(tAppUser.getProvince());
+                    }
+                    if (tAppUser.getCity()!=null){
+                        temp.setCity(tAppUser.getCity());
+                    }
+                    temp.setPayUser(tAppUser.getName());
+                    temp.setPhone(tAppUser.getPhone());
+                }
+
+                temp.setStoreName(registerOrderVO.getStoreName());
+
+                temp.setInsertTime(registerOrderVO.getInsertTime());
+                if (registerOrderVO.getMoney() != null) {
+                    temp.setAmount(registerOrderVO.getMoney());
+                }
+                temp.setIncomeType(3);
+                temp.setState(registerOrderVO.getPayStatus());
+                incomeVOS.add(temp);
+            }
+        }
+        if(roleType !=3) {
+            if (incomeType == null || incomeType == 4) {
+                // 报名活动
+                List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
+                for (PaymentCompetition competition : competitions) {
+                    if (competition.getPayStatus() == 3) {
+                        continue;
+                    }
+                    IncomeVO temp = new IncomeVO();
+                    TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
+                    Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
+                    if(null == competition1){
+                        continue;
+                    }
+                    if (!competition1.getStoreId().equals("")){
+                        String[] split = competition1.getStoreId().split(",");
+                        List<Integer> list = new ArrayList<>();
+                        for (String s : split) {
+                            list.add(Integer.valueOf(s));
+                        }
+                        List<TStore> id = storeService.list(new QueryWrapper<TStore>().in("id", list));
+                        StringBuilder storeNames = new StringBuilder("");
+                        for (TStore store : id) {
+                            // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称)
+                            storeNames.append(store.getName() + ",");
+                        }
+                        String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1);
+
+                        temp.setStoreName(substring);
+                    }
+                    if (competition.getPayStatus()==2) {
+                        temp.setState(2);
+                    } else {
+                        temp.setState(1);
+                    }
+                    temp.setId(competition.getId().intValue());
+                    if (tAppUser!=null){
+                        if (tAppUser.getProvince()!=null){
+                            temp.setProvince(tAppUser.getProvince());
+                        }
+                        if (tAppUser.getCity()!=null){
+                            temp.setCity(tAppUser.getCity());
+                        }
+                        temp.setPayUser(tAppUser.getName());
+                        temp.setPhone(tAppUser.getPhone());
+                    }
+                    temp.setInsertTime(competition.getInsertTime());
+                    if (competition.getAmount() != null) {
+                        temp.setAmount(new BigDecimal(competition.getAmount().toString()));
+                    }
+                    temp.setIncomeType(4);
+                    temp.setState(competition.getPayStatus());
+                    incomeVOS.add(temp);
+                }
+            }
+        }
+        if (incomeType == null || incomeType == 5) {
+            // 预约场地
+            List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
+            for (SiteBooking siteBooking : siteBookings) {
+                IncomeVO temp = new IncomeVO();
+                if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) {
+                    temp.setState(1);
+                } else {
+                    temp.setState(2);
+                }
+                TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
+                Store store = storeClient.getStoreById(siteBooking.getStoreId());
+
+                temp.setId(siteBooking.getId());
+                temp.setProvince(siteBooking.getProvince());
+                temp.setCity(siteBooking.getCity());
+                temp.setStoreName(store.getName());
+                if (tAppUser!=null){
+                    if (tAppUser.getProvince()!=null){
+                        temp.setProvince(tAppUser.getProvince());
+                    }
+                    if (tAppUser.getCity()!=null){
+                        temp.setCity(tAppUser.getCity());
+                    }
+                    temp.setPayUser(tAppUser.getName());
+                    temp.setPhone(tAppUser.getPhone());
+                }
+
+                temp.setInsertTime(siteBooking.getInsertTime());
+                if (siteBooking.getPayMoney() != null) {
+                    temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString()));
+                }
+                temp.setIncomeType(5);
+                incomeVOS.add(temp);
+            }
+        }
+
+        BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
+
+        for (IncomeVO vo : incomeVOS) {
+            if (vo.getAmount() == null ){
+                BigDecimal temp = BigDecimal.ZERO;
+                totalAmount = totalAmount.add(temp);
+            }else{
+                BigDecimal totalMoney = vo.getAmount();
+                totalAmount = totalAmount.add(totalMoney); // 累加每个IncomeVO对象的amount
+            }
+        }
+        return totalAmount;
     }
     /**
      * 获取消课记录
@@ -136,8 +772,65 @@
         coachQuery.setCoachName(coachName);
         coachQuery.setCourseName(courseName);
         coachQuery.setTime(beginTime);
+        if(UserExt.getUser().getObjectType()==3){
+            coachQuery.setStoreId(UserExt.getUser().getObjectId());
+        }
+        if(UserExt.getUser().getObjectType()==2){
+            // 运营商门店ids
+            List<Integer> storeIds = storeService
+                    .list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            coachQuery.setStoreIds(storeIds);
+        }
         return cancelledClassesClient.listAll(coachQuery);
     }
+    /**
+     * 获取报名订单记录
+     */
+    @Autowired
+    private IStoreService storeService;
+    @RequestMapping(value = "/registerListAll")
+    @ResponseBody
+    public List<RegisterOrderVO> registerListAll(String province,String city,Integer storeId,String registerTime
+            ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) {
+        RegisterOrderQuery query = new RegisterOrderQuery();
+        query.setProvince(province);
+        query.setCity(city);
+        query.setStoreId(storeId);
+        query.setInsertType(UserExt.getUser().getObjectType());
+        if(UserExt.getUser().getObjectType()==2){
+            query.setStoresIds(storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId",UserExt.getUser().getObjectId())
+                    ).stream().map(TStore::getId).collect(Collectors.toList()));
+        }
+        if(UserExt.getUser().getObjectType()==3){
+            query.setStoreId(UserExt.getUser().getObjectId());
+        }
+        query.setRegisterTime(registerTime);
+        query.setUserName(userName);
+        query.setUserIds(Lists.newArrayList());
+        query.setPhone(phone);
+        query.setStudentName(studentName);
+        query.setStudentIds(Lists.newArrayList());
+        query.setCoursePackageName(coursePackageName);
+        query.setSalesName(salesName);
+        query.setOrderSource(orderSource);
+        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
+        appUserByNameAndPhoneDTO.setUserName(query.getUserName());
+        appUserByNameAndPhoneDTO.setPhone(query.getPhone());
+        List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO);
+        // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中
+        List<Integer> userIds = tAppUsers.stream()
+                .map(TAppUser::getId) // 使用方法引用获取每个对象的 id
+                .collect(Collectors.toList());
+        query.setUserIds(userIds);
+        if (userIds.size()==0){
+            return new ArrayList<>();
+        }
+
+
+        return coursePackagePaymentClient.listAllRegister(query);
+    }
 
 
 

--
Gitblit v1.7.1