From 8a85fc834d98b2c14c5b886a957ccf3197aad293 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期日, 20 九月 2026 17:12:28 +0800
Subject: [PATCH] feat:优惠券使用入口:购买门票、预定场地、购买惠民卡
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
index 4edd750..e744bdb 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
@@ -448,12 +448,9 @@
}
}
- Map<Long, BigDecimal> couponDeductionAmounts = getCouponDeductionAmounts(usedCouponIds);
- applyCouponDeductions(incomeVOS, couponDeductionAmounts);
-
// 惠民卡和优惠券购买不归属到单一课程/场地门店,当前仅在平台或运营商汇总中计入。
if (storeId == null) {
- appendHuiminIncome(incomeVOS, operatorId);
+ appendHuiminIncome(incomeVOS, operatorId, usedCouponIds);
if (operatorId == null) {
appendCouponPurchaseIncome(incomeVOS);
}
@@ -468,9 +465,15 @@
temp.setInsertTime(pointMerchandiseIncomeVo.getInsertTime());
if (pointMerchandiseIncomeVo.getCash()!=null){
temp.setAmount(pointMerchandiseIncomeVo.getCash());
+ if (pointMerchandiseIncomeVo.getUserCouponId() != null) {
+ usedCouponIds.add(pointMerchandiseIncomeVo.getUserCouponId());
+ temp.setId(pointMerchandiseIncomeVo.getUserCouponId().toString());
+ }
incomeVOS.add(temp);
}
}
+ Map<Long, BigDecimal> couponDeductionAmounts = getCouponDeductionAmounts(usedCouponIds);
+ applyCouponDeductions(incomeVOS, couponDeductionAmounts);
// 平台智慧球场
if (storeId==null&&operatorId==null){
gameDataQuery.setObjectId(0);
@@ -538,7 +541,7 @@
}
/** 惠民卡采用支付、退款两条事实流水,赠送卡不计营收。 */
- private void appendHuiminIncome(List<IncomeVO> incomeRecords, Integer operatorId) {
+ private void appendHuiminIncome(List<IncomeVO> incomeRecords, Integer operatorId, Set<Long> usedCouponIds) {
HuiminPayQuery query = new HuiminPayQuery();
query.setGiftPaymentType(3);
if (operatorId != null) {
@@ -556,6 +559,10 @@
payment.setIncomeType(6);
payment.setInsertTime(record.getPaymentTime());
payment.setAmount(record.getSalesMoney());
+ if (record.getUserCouponId() != null) {
+ usedCouponIds.add(record.getUserCouponId());
+ payment.setId(record.getUserCouponId().toString());
+ }
incomeRecords.add(payment);
if (Integer.valueOf(3).equals(record.getStatus())
|| Integer.valueOf(2).equals(record.getRefundStatus())
--
Gitblit v1.7.1