调整店铺优惠券使用限制

This commit is contained in:
luofei 2024-02-20 15:59:41 +08:00
parent 98e4e895b9
commit b18e7dd1e1

View File

@ -93,6 +93,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
$_merTake = $merTake; $_merTake = $merTake;
$_merDelivery = $merDelivery; $_merDelivery = $merDelivery;
$deliveryStatus = true; $deliveryStatus = true;
$enabledCoupon = !($order_type && $order_type != 2);
if ($createOrder && $isTake && !$merTake) { if ($createOrder && $isTake && !$merTake) {
$deliveryStatus = false; $deliveryStatus = false;
} }
@ -142,6 +143,11 @@ class StoreOrderCreateRepository extends StoreOrderRepository
if ($presellType == 2) if ($presellType == 2)
$down_price = bcadd($down_price, bcmul($cart['cart_num'], $cart['productPresellAttr']['down_price'], 2), 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); unset($cart);
@ -151,7 +157,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository
if ($deliveryStatus && !$isTake && ($merDelivery || $merTake)) { if ($deliveryStatus && !$isTake && ($merDelivery || $merTake)) {
$isTake = $merDelivery ? 0 : 1; $isTake = $merDelivery ? 0 : 1;
} }
$enabledCoupon = !($order_type && $order_type != 2);
//只有预售和普通商品可以用优惠券 //只有预售和普通商品可以用优惠券
if (!$enabledCoupon) $merchantCart['coupon'] = []; if (!$enabledCoupon) $merchantCart['coupon'] = [];
$svip_coupon_merge = merchantConfig($merchantCart['mer_id'], 'svip_coupon_merge'); $svip_coupon_merge = merchantConfig($merchantCart['mer_id'], 'svip_coupon_merge');
@ -326,7 +331,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
//过滤不可用店铺优惠券 //过滤不可用店铺优惠券
foreach ($merchantCart['coupon'] as &$coupon) { foreach ($merchantCart['coupon'] as &$coupon) {
if (!$coupon['coupon']['type']) continue; if (in_array($coupon['coupon']['type'], [0, 2])) continue;
$coupon['disabled'] = false; $coupon['disabled'] = false;
$coupon['checked'] = false; $coupon['checked'] = false;
@ -361,7 +366,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
//} //}
//计算商品券金额 //计算商品券金额
foreach ($merchantCart['coupon'] as &$coupon) { foreach ($merchantCart['coupon'] as &$coupon) {
if (!$coupon['coupon']['type']) continue; if (in_array($coupon['coupon']['type'], [0, 2])) continue;
if ($coupon['disabled']) continue; if ($coupon['disabled']) continue;
foreach ($coupon['product'] as $_product) { foreach ($coupon['product'] as $_product) {
@ -386,7 +391,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
$_pay_price = $pay_price; $_pay_price = $pay_price;
//计算店铺券 //计算店铺券
foreach ($merchantCart['coupon'] as &$coupon) { foreach ($merchantCart['coupon'] as &$coupon) {
if ($coupon['coupon']['type']) continue; if (!in_array($coupon['coupon']['type'], [0, 2])) continue;
$coupon['checked'] = false; $coupon['checked'] = false;
$coupon['disabled'] = $pay_price <= 0; $coupon['disabled'] = $pay_price <= 0;
if ($use_store_coupon || $pay_price <= 0) continue; if ($use_store_coupon || $pay_price <= 0) continue;