From 04b031de781a6428a49efa4761eb5b7d0f738920 Mon Sep 17 00:00:00 2001 From: evoxwht <442384644@qq.com> Date: Mon, 21 Feb 2022 15:41:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8B=86=E5=8D=95=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E4=BC=9A=E5=87=BA=E7=8E=B0=E8=AE=A2=E5=8D=95=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=B2=A1=E6=9C=89=E6=AD=A3=E5=B8=B8=E6=8B=86=E5=88=86?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/services/order/StoreOrderSplitServices.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crmeb/app/services/order/StoreOrderSplitServices.php b/crmeb/app/services/order/StoreOrderSplitServices.php index d27f2082e..19612feff 100644 --- a/crmeb/app/services/order/StoreOrderSplitServices.php +++ b/crmeb/app/services/order/StoreOrderSplitServices.php @@ -159,9 +159,12 @@ class StoreOrderSplitServices extends BaseServices ]; } } - if ($orderInfo['pid'] == 0 || $orderInfo['pid'] > 0 && $key == 'new') { - $storeOrderCartInfoServices->saveAll($cart_data_all); + + if ($orderInfo['pid'] > 0 && $key == 'other') { + $storeOrderCartInfoServices->delete(['oid' => $new_id]); } + $storeOrderCartInfoServices->saveAll($cart_data_all); + $new_order = $this->dao->get($new_id); $storeOrderCartInfoServices->clearOrderCartInfo($new_id); $this->splitComputeOrder((int)$new_id, $cart_data_all, (float)($change_price ? $order_pay_price : 0), (float)$orderInfo['pay_price'], (float)($new_order['pay_price'] ?? 0)); @@ -286,7 +289,7 @@ class StoreOrderSplitServices extends BaseServices $deduction_price = bcadd((string)$deduction_price, (string)$_info['integral_price'], 2); $coupon_price = bcadd((string)$coupon_price, (string)$_info['coupon_price'], 2); $use_integral = bcadd((string)$use_integral, (string)$_info['use_integral'], 0); - $pay_postage = bcadd((string)$pay_postage, (string)$_info['postage_price'], 2); + $pay_postage = isset($_info['postage_price']) ? bcadd((string)$pay_postage, (string)$_info['postage_price'], 2) : 0; $cartInfoGainIntegral = bcmul((string)$cart['cart_num'], (string)($_info['productInfo']['give_integral'] ?? '0'), 0); $gainIntegral = bcadd((string)$gainIntegral, (string)$cartInfoGainIntegral, 0); $one_brokerage = bcadd((string)$one_brokerage, (string)$_info['one_brokerage'], 2);