From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访
---
admin/app/api/service/order/settled/OrderSettledService.php | 41 +++++++++++++++++++++++++++++++----------
1 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/admin/app/api/service/order/settled/OrderSettledService.php b/admin/app/api/service/order/settled/OrderSettledService.php
index 31cecd8..40cdde3 100644
--- a/admin/app/api/service/order/settled/OrderSettledService.php
+++ b/admin/app/api/service/order/settled/OrderSettledService.php
@@ -12,6 +12,7 @@
use app\common\enum\order\OrderPayTypeEnum;
use app\common\enum\order\OrderSourceEnum;
use app\common\enum\order\OrderTypeEnum;
+use app\common\enum\supplier\SupplierType;
use app\common\model\settings\Setting as SettingModel;
use app\api\service\coupon\ProductDeductService;
use app\common\model\store\Store as StoreModel;
@@ -146,7 +147,7 @@
$this->setOrderCouponMoney($couponList, $this->orderData['coupon_id'], $supplier['productList']);
}
// 计算可用积分抵扣
- $this->setOrderPoints($supplier['productList']);
+ $this->setOrderPoints($supplier['productList'],$supplier['supplier']);
$totalPointsMoney += $this->orderData['points_money'];
$totalPoints += $this->orderData['points_num'];
// 计算可用消费券抵扣
@@ -179,7 +180,7 @@
}
$this->orderData['store_id'] = $this->params['supplier'][$supplier['shop_supplier_id']]['store_id'];
}
-
+
// 处理配送方式
if ($this->orderData['delivery'] == DeliveryTypeEnum::EXPRESS) {
$this->setOrderExpress($supplier['productList']);
@@ -624,14 +625,14 @@
// 积分兑换扣除用户积分
if ($commomOrder['force_points']) {
$describe = "用户积分兑换消费:{$this->model['order_no']}";
- $this->user->setIncPoints(-$commomOrder['points_num'], $describe);
+ $this->user->setIncPoints(-$commomOrder['points_num'], $describe,0,true,($supplier['supplier']['supplier_type'] == SupplierType::GROUPBUYING?1:0));
} else {
// 积分抵扣情况下扣除用户积分
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);
+ $this->user->setIncPoints(-$commomOrder['points_num'], $describe,0,true,($supplier['supplier']['supplier_type'] == SupplierType::GROUPBUYING?1:0));
}
- // 积分抵扣情况下扣除用户积分
+ // 消费券抵扣情况下扣除用户消费券
if ($commomOrder['is_allow_consumption'] && $commomOrder['is_real_use_consumption'] && $commomOrder['consumption_num'] > 0) {
$describe = "用户消费:{$this->model['order_no']}";
$this->user->setIncConsumption(-$commomOrder['consumption_num'], $describe);
@@ -763,6 +764,12 @@
// 订单商品列表
$productList = [];
foreach ($supplier['productList'] as $product) {
+ $product_type = 0;
+ if ($product['is_brand'] == 1) {
+ $product_type = 10;
+ }else if ($supplier['supplier']['supplier_type'] == SupplierType::GROUPBUYING) {
+ $product_type = 20;
+ }
$item = [
'order_id' => $status,
'user_id' => $this->user['user_id'],
@@ -772,6 +779,8 @@
'image_id' => $product['image'][0]['image_id'],
'deduct_stock_type' => $product['deduct_stock_type'],
'spec_type' => $product['spec_type'],
+ 'open_coupon' => $product['open_coupon'],
+ 'open_coupons' => $product['open_coupons'],
'spec_sku_id' => $product['product_sku']['spec_sku_id'],
'product_sku_id' => $product['product_sku']['product_sku_id'],
'product_attr' => $product['product_sku']['product_attr'],
@@ -819,6 +828,12 @@
'is_viewpoint_money' => $product['is_viewpoint_money'],
'viewpoint_money' => $product['viewpoint_money'],
'deduction_price' => empty($product['deduction_price']) ? 0 : $product['deduction_price'],//券商品的抵扣金额 by yj 2024.1.10
+ 'product_type' => $product_type,
+ 'is_activation_code' => $product['is_activation_code'],
+ 'activation_code_num' => $product['product_sku']['activation_code_num'],
+ 'activation_code_exchange' => $product['activation_code_exchange'],
+ 'is_gift_pack' => $product['is_gift_pack'],
+ 'vip_order_num' => $product['vip_order_num'],
];
// 记录订单商品来源id
$item['product_source_id'] = isset($product['product_source_id']) ? $product['product_source_id'] : 0;
@@ -838,13 +853,16 @@
/**
* 计算订单可用积分抵扣
*/
- private function setOrderPoints($productList)
+ private function setOrderPoints($productList,$supplier)
{
$this->orderData['points_money'] = 0;
// 积分抵扣总数量
$this->orderData['points_num'] = 0;
// 允许积分抵扣
$this->orderData['is_allow_points'] = false;
+
+ // 只有团购类商品允许使用品牌积分
+ $points=$supplier['supplier_type']==SupplierType::GROUPBUYING?$this->user['points']:$this->user['points']-$this->user['brand_points'];
// 积分商城兑换
if (isset($this->settledRule['force_points']) && $this->settledRule['force_points']) {
// 积分抵扣金额,商品价格-兑换金额
@@ -853,7 +871,7 @@
$this->orderData['points_num'] = $productList[0]['points_num'];
// 允许积分抵扣
$this->orderData['is_allow_points'] = true;
- if ($this->user['points'] < $productList[0]['points_num']) {
+ if ($points < $productList[0]['points_num']) {
$this->error = '积分不足,去多赚点积分吧!';
return false;
}
@@ -874,7 +892,7 @@
// 订单最多可抵扣的积分总数量
$maxPointsNumCount = helper::getArrayColumnSum($productList, 'max_points_num');
// 实际可抵扣的积分数量
- $actualPointsNum = min($maxPointsNumCount, $this->user['points']);
+ $actualPointsNum = min($maxPointsNumCount, $points);
if ($actualPointsNum < 1) {
$this->orderData['points_money'] = 0;
// 积分抵扣总数量
@@ -1154,8 +1172,11 @@
$service = new FullDeductService;
$completed = $service->setProductFullreduceMoney($productListTemp, $reduce['reduced_price']);
// 分配订单商品优惠券抵扣金额
- foreach ($productList as $key => &$product) {
- $product['fullreduce_money'] = $completed[$key]['fullreduce_money'] / 100;
+ if ($completed){
+ // 分配订单商品优惠券抵扣金额
+ foreach ($productList as $key => &$product) {
+ $product['fullreduce_money'] = $completed[$key]['fullreduce_money'] / 100;
+ }
}
return true;
}
--
Gitblit v1.9.2