From 8a89ba02db5c19db669a5cf9bb7d443223bdfb71 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期二, 29 九月 2026 10:48:21 +0800
Subject: [PATCH] 会员管理及取消场地预约问题
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 735 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 505 insertions(+), 230 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 764286a..fb1f317 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;
@@ -24,6 +26,7 @@
import com.dsh.guns.core.util.ToolUtil;
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.service.*;
+import com.dsh.guns.modular.system.util.ResultUtil;
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;
@@ -36,7 +39,10 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
@@ -72,69 +78,68 @@
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";
+ * }
+ *
+ * @RequestMapping(value = "/listAll")
+ * @ResponseBody
+ * public List<RechargeRecordsVO> list(String province, String city, String name, String phone, String time, Integer type) {
+ * RechargeRecordsQuery coachQuery = new RechargeRecordsQuery();
+ * 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);
+ * return financeClient.rechargeList(coachQuery);
+ * }
+ *
+ * @RequestMapping(value = "/getAmount")
+ * @ResponseBody
+ * public BigDecimal getAmount(String province, String city, String name, String phone, String time, Integer type) {
+ * RechargeRecordsQuery coachQuery = new RechargeRecordsQuery();
+ * coachQuery.setProvince(province);
+ * coachQuery.setCity(city);
+ * coachQuery.setName(name);
+ * coachQuery.setPhone(phone);
+ * coachQuery.setTime(time);
+ * coachQuery.setType(type);
+ * List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(coachQuery);
+ * BigDecimal total = new BigDecimal("0.00");
+ * for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
+ * total = total.add(rechargeRecordsVO.getAmount());
+ * }
+ * return total;
+ * }
*/
- @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";
- }
- /**
- * 获取充值记录
- */
- @RequestMapping(value = "/listAll")
- @ResponseBody
- public List<RechargeRecordsVO> list(String province, String city, String name, String phone,String time,Integer type) {
- RechargeRecordsQuery coachQuery = new RechargeRecordsQuery();
- 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);
- return financeClient.rechargeList(coachQuery);
- }
-
- /**
- * 获取充值记录
- */
- @RequestMapping(value = "/getAmount")
+ /** 充值记录功能已下线,避免通过历史菜单或直接 URL 继续访问。 */
+ @RequestMapping({"/rechargeRecords", "/listAll", "/getAmount"})
@ResponseBody
- public BigDecimal getAmount(String province, String city, String name, String phone, String time, Integer type) {
- RechargeRecordsQuery coachQuery = new RechargeRecordsQuery();
- coachQuery.setProvince(province);
- coachQuery.setCity(city);
- coachQuery.setName(name);
- coachQuery.setPhone(phone);
- coachQuery.setTime(time);
- 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 = total.add(amount); // 将新的值赋给total
- result = result.add(amount); // 将新的值赋给result
- }
- return total;
+ public ResultUtil rechargeRecordsUnavailable() {
+ return ResultUtil.error("充值记录功能暂不提供");
}
/**
* 获取报名订单统计数据
@@ -148,6 +153,16 @@
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());
@@ -225,24 +240,35 @@
public String income(Model model) {
Integer objectType = UserExt.getUser().getObjectType();
model.addAttribute("roleType",objectType);
- return PREFIX + "income.html";
+ 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();
// 报名课程查询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){
@@ -255,6 +281,7 @@
query.setUserIds(collect);
incomeQuery.setUserIds(collect);
siteBookingQuery.setUserIds(collect);
+ worldCupQuery.setUserIds(collect);
}
}
if (amount==null || amount.equals("")){
@@ -263,12 +290,36 @@
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());
+ if (operatorId.isEmpty()){
+ operatorId.add(0);
+ }
+ 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);
@@ -276,28 +327,38 @@
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 (roleType == 1){
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());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
+ temp.setId(vipPayment.getId().toString());
+ temp.setAppUserId(vipPayment.getAppUserId());
+ 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.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
temp.setAmount(new BigDecimal(vipPayment.getAmount().toString()));
temp.setIncomeType(1);
- temp.setState(vipPayment.getState());
+ temp.setState(2);
temp.setInsertTime(vipPayment.getInsertTime());
+ if (UserExt.getUser().getObjectType()!=1){
+ break;
+ }
incomeVOS.add(temp);
}
}
@@ -305,20 +366,31 @@
// 充值记录
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());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
+ temp.setId(rechargeRecordsVO.getId().toString());
+ temp.setAppUserId(rechargeRecordsVO.getAppUserId());
+ 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.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
temp.setInsertTime(rechargeRecordsVO.getInsertTime());
if (rechargeRecordsVO.getAmount() != null) {
temp.setAmount(rechargeRecordsVO.getAmount());
}
temp.setIncomeType(2);
- temp.setState(rechargeRecordsVO.getPayStatus());
+ temp.setState(2);
+
incomeVOS.add(temp);
}
}
@@ -331,22 +403,33 @@
}
TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
IncomeVO temp = new IncomeVO();
- temp.setId(registerOrderVO.getId().intValue());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
+ temp.setId(registerOrderVO.getId().toString());
+ temp.setAppUserId(registerOrderVO.getAppUserId());
+ 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.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
+
temp.setInsertTime(registerOrderVO.getInsertTime());
if (registerOrderVO.getMoney() != null) {
temp.setAmount(registerOrderVO.getMoney());
}
temp.setIncomeType(3);
- temp.setState(registerOrderVO.getPayStatus());
+
+ temp.setState(2);
+
incomeVOS.add(temp);
}
}
- if(roleType !=3) {
+
if (incomeType == null || incomeType == 4) {
// 报名活动
List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
@@ -354,46 +437,80 @@
if (competition.getPayStatus() == 3) {
continue;
}
+ IncomeVO temp = new IncomeVO();
TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
- Store store = storeClient.getStoreById(competition1.getStoreId());
- IncomeVO temp = new IncomeVO();
- temp.setId(competition.getId().intValue());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
- temp.setStoreName(store.getName());
- temp.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
- temp.setInsertTime(competition.getInsertTime());
+ if(null == competition1){
+ continue;
+ }
+ String competitionStoreIds = resolveCompetitionStoreIds(competition, competition1);
+ if (ToolUtil.isNotEmpty(competitionStoreIds)){
+ String[] split = competitionStoreIds.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());
+ temp.setAppUserId(competition.getAppUserId());
+ 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());
+
+ 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();
- if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) {
- temp.setState(1);
- } else {
+
temp.setState(2);
- }
- TAppUser tAppUser = appUserClient.queryById(siteBooking.getAppUserId());
+
+ TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
Store store = storeClient.getStoreById(siteBooking.getStoreId());
- temp.setId(siteBooking.getId());
+ temp.setId(siteBooking.getId().toString());
+ temp.setAppUserId(siteBooking.getAppUserId());
temp.setProvince(siteBooking.getProvince());
temp.setCity(siteBooking.getCity());
temp.setStoreName(store.getName());
- temp.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
+ 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()));
@@ -402,7 +519,30 @@
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);
+ }
+ }
+ // 推荐:一行代码解决
+ incomeVOS.sort(Comparator.comparing(
+ IncomeVO::getInsertTime,
+ Comparator.nullsLast(Comparator.reverseOrder())
+ ));
return incomeVOS;
}
@@ -411,17 +551,23 @@
*/
@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
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){
@@ -434,6 +580,7 @@
query.setUserIds(collect);
incomeQuery.setUserIds(collect);
siteBookingQuery.setUserIds(collect);
+ worldCupQuery.setUserIds(collect);
}
}
if (amount==null || amount.equals("")){
@@ -442,151 +589,248 @@
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();
- IncomeVO incomeVO = new IncomeVO();
List<IncomeVO> incomeVOS = new ArrayList<>();
-
- if (roleType == 1){
- if ( incomeType==null || incomeType == 1){
- // 会员支付记录
- List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
- for (VipPayment vipPayment : vipPayments) {
-
- TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
- IncomeVO temp = new IncomeVO();
- temp.setId(vipPayment.getId());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
- temp.setStoreName("");
- temp.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
- temp.setAmount(new BigDecimal(vipPayment.getAmount().toString()));
- temp.setIncomeType(1);
- temp.setState(vipPayment.getState());
- temp.setInsertTime(vipPayment.getInsertTime());
- incomeVOS.add(temp);
+ if ( incomeType==null || incomeType == 1){
+ // 会员支付记录
+ List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
+ for (VipPayment vipPayment : vipPayments) {
+ if (UserExt.getUser().getObjectType()!=1){
+ break;
}
- }
- if ( incomeType==null || incomeType == 2) {
- // 充值记录
- List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery);
- for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
- TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
- IncomeVO temp = new IncomeVO();
- temp.setId(rechargeRecordsVO.getId().intValue());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
- temp.setStoreName("");
- temp.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
- temp.setInsertTime(rechargeRecordsVO.getInsertTime());
- if (rechargeRecordsVO.getAmount() != null) {
- temp.setAmount(rechargeRecordsVO.getAmount());
- }
- temp.setIncomeType(2);
- temp.setState(rechargeRecordsVO.getState());
- 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());
- temp.setProvince(tAppUser.getProvince());
- temp.setCity(tAppUser.getCity());
- temp.setStoreName(registerOrderVO.getStoreName());
- temp.setPayUser(tAppUser.getName());
- temp.setPhone(tAppUser.getPhone());
- 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;
- }
- TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
- Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
- Store store = storeClient.getStoreById(competition1.getStoreId());
- IncomeVO temp = new IncomeVO();
- temp.setId(competition.getId().intValue());
+ 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.setStoreName(store.getName());
- 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.queryById(siteBooking.getAppUserId());
- Store store = storeClient.getStoreById(siteBooking.getStoreId());
-
- temp.setId(siteBooking.getId());
- temp.setProvince(siteBooking.getProvince());
- temp.setCity(siteBooking.getCity());
- temp.setStoreName(store.getName());
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);
}
+ 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);
}
}
- BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
+ 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;
+ }
+ String competitionStoreIds = resolveCompetitionStoreIds(competition, competition1);
+ if (ToolUtil.isNotEmpty(competitionStoreIds)){
+ String[] split = competitionStoreIds.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) {
- BigDecimal totalMoney = vo.getAmount();
- totalAmount = totalAmount.add(totalMoney); // 累加每个IncomeVO对象的amount
+ 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;
}
@@ -601,11 +845,23 @@
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
@@ -614,6 +870,15 @@
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());
@@ -636,13 +901,23 @@
return new ArrayList<>();
}
+
return coursePackagePaymentClient.listAllRegister(query);
}
+ /**
+ * 获取收入记录对应的门店归属;新订单使用下单快照,兼容未回填的历史订单。
+ *
+ * @param paymentCompetition 活动支付记录
+ * @param competition 活动当前信息
+ * @return 逗号分隔的门店 ID 列表
+ */
+ private String resolveCompetitionStoreIds(PaymentCompetition paymentCompetition, Competition competition) {
+ if (ToolUtil.isNotEmpty(paymentCompetition.getCompetitionStoreIds())) {
+ return paymentCompetition.getCompetitionStoreIds();
+ }
+ return competition.getStoreId();
+ }
}
-
-
-
-
--
Gitblit v1.7.1