|
|
@@ -118,6 +118,9 @@ class RefundOrderClass extends BaseClass
|
|
|
$order->refund = OrderClass::REFUND_YES;
|
|
|
$order->save();
|
|
|
|
|
|
+ //退货并退款的售后,需要减少订单的总成本
|
|
|
+ $reduceCost = 0;
|
|
|
+
|
|
|
$orderSn = $order->orderSn ?? '';
|
|
|
$onlinePay = $order->onlinePay ?? 1;
|
|
|
$shopId = $order->shopId ?? 0;
|
|
|
@@ -152,7 +155,7 @@ class RefundOrderClass extends BaseClass
|
|
|
$productId = $oneItem->productId ?? 0;
|
|
|
$ptItemId = $oneItem->itemId ?? 0;
|
|
|
$itemName = $oneItem->name ?? '';
|
|
|
-
|
|
|
+ $cost = $oneItem->cost ?? 0;
|
|
|
$orderItemNum = $oneItem->xhNum ?? 0;
|
|
|
$refundNum = $oneItem->refundNum ?? 0;
|
|
|
$remainNum = bcsub($orderItemNum, $refundNum);
|
|
|
@@ -167,6 +170,9 @@ class RefundOrderClass extends BaseClass
|
|
|
$oneItem->refundNum = bcadd($refundNum, $num);
|
|
|
$oneItem->save();
|
|
|
|
|
|
+ $currentCost = bcmul($cost, $num, 2);
|
|
|
+ $reduceCost = bcadd($currentCost, $reduceCost, 2);
|
|
|
+
|
|
|
if ($refundSingle->xhUnitType == 1) {
|
|
|
$smallNum = $num;
|
|
|
$bigNum = 0;
|
|
|
@@ -204,6 +210,18 @@ class RefundOrderClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ $refundPackCost = $refund->refundPackCost ?? 0;
|
|
|
+ $reduceCost = bcadd($reduceCost, $refundPackCost, 2);
|
|
|
+ $refundSendCost = $refund->refundSendCost ?? 0;
|
|
|
+ $reduceCost = bcadd($reduceCost, $refundSendCost, 2);
|
|
|
+ //售后减掉订单的成本
|
|
|
+ if ($order->remainCost > $reduceCost) {
|
|
|
+ $order->remainCost = bcsub($order->remainCost, $reduceCost, 2);
|
|
|
+ } else {
|
|
|
+ $order->remainCost = 0;
|
|
|
+ }
|
|
|
+ $order->save();
|
|
|
+
|
|
|
$shop = ShopClass::getLockById($shopId);
|
|
|
if (empty($shop)) {
|
|
|
util::fail('没有找到门店73');
|