From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 784 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 771 insertions(+), 13 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 39bbbfe..d6cbced 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,23 @@
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;
+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;
@@ -17,22 +25,25 @@
import com.dsh.guns.core.common.constant.factory.PageFactory;
import com.dsh.guns.core.util.ToolUtil;
import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.ICityService;
-import com.dsh.guns.modular.system.service.IEvaluationService;
-import com.dsh.guns.modular.system.service.IStoreService;
-import com.dsh.guns.modular.system.service.StoreConfigService;
+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;
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;
+import java.util.stream.Collectors;
/**
* 财务控制器
@@ -48,23 +59,33 @@
@Autowired
private ICityService cityService;
@Autowired
+ private IRegionService regionService;
+ @Autowired
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;
+
/**
* 跳转到充值记录页面
*/
@RequestMapping("/rechargeRecords")
public String index(Model model) {
-
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
model.addAttribute("list",list);
-
Integer objectType = UserExt.getUser().getObjectType();
Integer objectId = UserExt.getUser().getObjectId();
model.addAttribute("userType",objectType);
- // 去重
String roleid = UserExt.getUser().getRoleid();
model.addAttribute("objectType",objectType);
return PREFIX + "RechargeRecords.html";
@@ -76,9 +97,20 @@
@ResponseBody
public List<RechargeRecordsVO> list(String province, String city, String name, String phone,String time,Integer type) {
RechargeRecordsQuery coachQuery = new RechargeRecordsQuery();
- coachQuery.setProvince(province);
- coachQuery.setCity(city);
+ Region provinceCode = regionService.getOne(new QueryWrapper<Region>().eq("code", province));
+ Region cityCode = regionService.getOne(new QueryWrapper<Region>().eq("code", city));
+ if (provinceCode!=null){
+ coachQuery.setProvince(provinceCode.getName());
+ }else{
+ coachQuery.setProvince(province);
+ }
+ if (cityCode!=null){
+ coachQuery.setCity(cityCode.getName());
+ }else{
+ coachQuery.setCity(city);
+ }
coachQuery.setName(name);
+
coachQuery.setPhone(phone);
coachQuery.setTime(time);
coachQuery.setType(type);
@@ -100,11 +132,75 @@
coachQuery.setType(type);
List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(coachQuery);
BigDecimal total = new BigDecimal("0.00");
+ BigDecimal result = new BigDecimal("0.00");
for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
BigDecimal amount = rechargeRecordsVO.getAmount();
- total.add(amount);
+ total = total.add(amount); // 将新的值赋给total
+ result = result.add(amount); // 将新的值赋给result
}
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;
}
/**
* 跳转到消课记录页面
@@ -117,6 +213,611 @@
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";
+ }
+ @Autowired
+ private WorldCupClient worldCupClient;
+ /**
+ * 获取收入管理列表
+ */
+ @RequestMapping(value = "/incomeListAll")
+ @ResponseBody
+ public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) throws ParseException {
+
+ // 充值记录查询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();
+ // 世界杯记录查询query
+ WorldCupQuery worldCupQuery = new WorldCupQuery();
+ 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);
+ worldCupQuery.setUserIds(collect);
+ }
+ }
+ if (amount==null || amount.equals("")){
+ siteBookingQuery.setAmount(null);
+ query.setAmount(null);
+ 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>()
+ .eq("operatorId", UserExt.getUser().getObjectId())).stream()
+ .map(TStore::getId).collect(Collectors.toList());
+ query.setStoresIds(operatorId);
+ 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();
+ 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().toString());
+ 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(2);
+ 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().toString());
+ 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(2);
+
+ 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().toString());
+ 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(2);
+
+ incomeVOS.add(temp);
+ }
+ }
+
+ 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().toString());
+ 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(2);
+
+ incomeVOS.add(temp);
+ }
+ }
+
+ if (incomeType == null || incomeType == 5) {
+ // 预约场地
+ List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
+ for (SiteBooking siteBooking : siteBookings) {
+ IncomeVO temp = new IncomeVO();
+
+ temp.setState(2);
+
+ TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
+ Store store = storeClient.getStoreById(siteBooking.getStoreId());
+
+ temp.setId(siteBooking.getId().toString());
+ 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);
+ }
+ }
+ 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(2);
+ temp.setInsertTime(simpleDateFormat.parse(worldCupIncomeVO.getPayTime()));
+ incomeVOS.add(temp);
+ }
+ }
+ return incomeVOS;
+ }
+
+ /**
+ * 获取收入管理列表
+ */
+ @RequestMapping(value = "/getIncomeData")
+ @ResponseBody
+ public Object getIncomeData(String time,Integer incomeType,String userName,String amount) throws ParseException {
+ // 充值记录查询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();
+ // 世界杯查询query
+ WorldCupQuery worldCupQuery = new WorldCupQuery();
+ 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);
+ worldCupQuery.setUserIds(collect);
+ }
+ }
+ if (amount==null || amount.equals("")){
+ siteBookingQuery.setAmount(null);
+ query.setAmount(null);
+ 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>()
+ .eq("operatorId", UserExt.getUser().getObjectId())).stream()
+ .map(TStore::getId).collect(Collectors.toList());
+ query.setStoresIds(operatorId);
+ 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();
+ 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().toString());
+ 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(2);
+ 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().toString());
+ 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(2);
+ 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().toString());
+
+ temp.setState(2);
+
+ 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(2);
+ incomeVOS.add(temp);
+ }
+ }
+ 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.setState(2);
+
+ temp.setId(competition.getId().toString());
+ 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(2);
+ incomeVOS.add(temp);
+ }
+ }
+ if (incomeType == null || incomeType == 5) {
+ // 预约场地
+ List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
+ for (SiteBooking siteBooking : siteBookings) {
+ IncomeVO temp = new IncomeVO();
+ temp.setState(2);
+ TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
+ Store store = storeClient.getStoreById(siteBooking.getStoreId());
+
+ temp.setId(siteBooking.getId().toString());
+ 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);
+ }
+ }
+ 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(2);
+ 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;
+ totalAmount = totalAmount.add(temp);
+ }else{
+ BigDecimal totalMoney = vo.getAmount();
+ totalAmount = totalAmount.add(totalMoney); // 累加每个IncomeVO对象的amount
+ }
+ }
+ return totalAmount;
+ }
+ /**
* 获取消课记录
*/
@RequestMapping(value = "/cancelListAll")
@@ -127,8 +828,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