From ca425b889f3c1b5847ffc26a0229307f7f8ef43e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Tue, 09 Dec 2025 16:11:31 +0800
Subject: [PATCH] 添加消费券 商户端添加页面diy
---
admin/app/api/service/order/settled/BranchActivitySettledService.php | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/admin/app/api/service/order/settled/BranchActivitySettledService.php b/admin/app/api/service/order/settled/BranchActivitySettledService.php
index 239f08f..e186a7f 100644
--- a/admin/app/api/service/order/settled/BranchActivitySettledService.php
+++ b/admin/app/api/service/order/settled/BranchActivitySettledService.php
@@ -9,7 +9,7 @@
use app\common\enum\order\OrderSourceEnum;
use app\common\enum\order\OrderTypeEnum;
use app\common\model\settings\Setting as SettingModel;
-use app\api\service\points\PointsDeductService;
+use app\api\service\points\ConsumptionDeductService;
use app\api\model\store\Store as StoreModel;
use app\api\service\user\UserService;
use app\common\enum\settings\DeliveryTypeEnum;
@@ -131,9 +131,9 @@
$delivery = $deliveryType[0];
}
- $this->orderData['delivery'] = $supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 ? 30 : $delivery;
+ $this->orderData['delivery'] = $supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 || $supplier['productList'][0]['is_virtual'] == 3 ? 30 : $delivery;
}else{
- if($supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2){
+ if($supplier['productList'][0]['is_virtual'] == 1 || $supplier['productList'][0]['is_virtual'] == 2 || $supplier['productList'][0]['is_virtual'] == 3){
$this->orderData['delivery'] = 30;
}else {
$this->orderData['delivery'] = $this->params['supplier'][$supplier['shop_supplier_id']]['delivery'];
@@ -198,6 +198,7 @@
'points_money' => $totalPointsMoney,
'points_num' => $totalPoints,
'is_real_use_points' => $this->params['is_use_points'],
+ 'is_real_use_consumption' => $this->params['is_use_consumption'],
'product_reduce_money' => $totalProductReduce,
'verify_data' => $verify_data,
'booking_data' => $booking_data,
@@ -233,6 +234,10 @@
'is_allow_points' => true,
// 是否使用积分抵扣
'is_use_points' => $this->params['is_use_points'],
+ // 是否允许使用消费抵扣
+ 'is_allow_consumption' => true,
+ // 是否使用消费券抵扣
+ 'is_use_consumption' => $this->params['is_use_consumption'],
// 是否使用计次卡
'counting_id' => isset($this->params['counting_id']) ? $this->params['counting_id'] : '',
// 支付方式
@@ -369,7 +374,7 @@
}
}
- if(!empty($productList) && $productList[0]['is_virtual'] == 1){
+ if(!empty($productList) && ($productList[0]['is_virtual'] == 1 || $productList[0]['is_virtual'] == 3)){
//虚拟商品核销 by yj
$verify_data = [
'is_verify' => $productList[0]['is_verify'] && empty($productList[0]['virtual_auto']) ? 1 : 0, //必须是手动发货并且支持核销
@@ -412,6 +417,8 @@
'extract_store' => [],
// 是否允许使用积分抵扣
'is_allow_points' => false,
+ // 是否允许使用消费券抵扣
+ 'is_allow_consumption' => false,
// 是否使用积分抵扣
'is_use_points' => $this->params['is_use_points'],
// 支付方式
@@ -563,6 +570,10 @@
if ($commomOrder['is_allow_points'] && $commomOrder['is_real_use_points'] && $commomOrder['points_num'] > 0) {
$describe = "用户消费:{$this->model['order_no']}";
$this->user->setIncPoints(-$commomOrder['points_num'], $describe,0,true,$status);
+ }
+ if ($commomOrder['is_allow_consumption'] && $commomOrder['is_real_use_consumption'] && $commomOrder['consumption_num'] > 0) {
+ $describe = "用户消费:{$this->model['order_no']}";
+ $this->user->setIncConsumption(-$commomOrder['consumptions_num'], $describe,0,true,$status);
}
}
return $status;
@@ -822,7 +833,7 @@
return false;
}
// 计算订单商品实际抵扣的积分数量和金额
- $ProductDeduct = new PointsDeductService($productList);
+ $ProductDeduct = new ConsumptionDeductService($productList);
$ProductDeduct->setProductPoints($maxPointsNumCount, $actualPointsNum);
// 积分抵扣总金额
$orderPointsMoney = helper::getArrayColumnSum($productList, 'points_money');
--
Gitblit v1.9.2