From b18e7dd1e10aa22b988bd374ff34b5a2d56649cb Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Tue, 20 Feb 2024 15:59:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=BA=97=E9=93=BA=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=88=B8=E4=BD=BF=E7=94=A8=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/order/StoreOrderCreateRepository.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index daf59aad..992da79c 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -93,6 +93,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository $_merTake = $merTake; $_merDelivery = $merDelivery; $deliveryStatus = true; + $enabledCoupon = !($order_type && $order_type != 2); if ($createOrder && $isTake && !$merTake) { $deliveryStatus = false; } @@ -142,6 +143,11 @@ class StoreOrderCreateRepository extends StoreOrderRepository if ($presellType == 2) $down_price = bcadd($down_price, bcmul($cart['cart_num'], $cart['productPresellAttr']['down_price'], 2), 2); } + $merchantCate = $cart['product']->merCateId; + if ($cart['product']['type'] == 1 && !empty($merchantCate) && $merchantCate[0]['mer_cate_id'] == env('PLATFORM_CARD_TYPE_ID') && $enabledPlatformCoupon) { + $enabledPlatformCoupon = false; + $enabledCoupon = false; + } } unset($cart); @@ -151,7 +157,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository if ($deliveryStatus && !$isTake && ($merDelivery || $merTake)) { $isTake = $merDelivery ? 0 : 1; } - $enabledCoupon = !($order_type && $order_type != 2); //只有预售和普通商品可以用优惠券 if (!$enabledCoupon) $merchantCart['coupon'] = []; $svip_coupon_merge = merchantConfig($merchantCart['mer_id'], 'svip_coupon_merge'); @@ -326,7 +331,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository //过滤不可用店铺优惠券 foreach ($merchantCart['coupon'] as &$coupon) { - if (!$coupon['coupon']['type']) continue; + if (in_array($coupon['coupon']['type'], [0, 2])) continue; $coupon['disabled'] = false; $coupon['checked'] = false; @@ -361,7 +366,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository //} //计算商品券金额 foreach ($merchantCart['coupon'] as &$coupon) { - if (!$coupon['coupon']['type']) continue; + if (in_array($coupon['coupon']['type'], [0, 2])) continue; if ($coupon['disabled']) continue; foreach ($coupon['product'] as $_product) { @@ -386,7 +391,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository $_pay_price = $pay_price; //计算店铺券 foreach ($merchantCart['coupon'] as &$coupon) { - if ($coupon['coupon']['type']) continue; + if (!in_array($coupon['coupon']['type'], [0, 2])) continue; $coupon['checked'] = false; $coupon['disabled'] = $pay_price <= 0; if ($use_store_coupon || $pay_price <= 0) continue;