From 9abcf8d92a6c556b8f96dd9f257ff2e76334d0af Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Mon, 11 Mar 2024 14:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=80=80=E6=AC=BE=EF=BC=8C?= =?UTF-8?q?=E5=87=8F=E5=B0=91=E5=95=86=E6=88=B7=E9=94=80=E5=94=AE=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E5=92=8C=E9=87=87=E8=B4=AD=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/dao/store/order/StoreOrderOtherDao.php | 3 +++ .../store/order/StoreRefundOrderRepository.php | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/app/common/dao/store/order/StoreOrderOtherDao.php b/app/common/dao/store/order/StoreOrderOtherDao.php index c93233db..3acbcf70 100755 --- a/app/common/dao/store/order/StoreOrderOtherDao.php +++ b/app/common/dao/store/order/StoreOrderOtherDao.php @@ -787,6 +787,9 @@ class StoreOrderOtherDao extends BaseDao $refundProducts[$item['product']['product_source_id']] = ['num' => $item['refund_num']]; } $order = StoreOrderOther::where('order_sn', $refundOrder->order['order_sn'])->find(); + if (empty($order)) { + return; + } $refundOrderArray = $refundOrder->toArray(); unset($refundOrderArray['refund_order_id'], $refundOrderArray['refundProduct'], $refundOrderArray['order']); Db::startTrans(); diff --git a/app/common/repositories/store/order/StoreRefundOrderRepository.php b/app/common/repositories/store/order/StoreRefundOrderRepository.php index fee54ebb..8b18bb6c 100755 --- a/app/common/repositories/store/order/StoreRefundOrderRepository.php +++ b/app/common/repositories/store/order/StoreRefundOrderRepository.php @@ -26,6 +26,7 @@ use app\common\model\store\order\StoreRefundOrder; use app\common\model\store\product\CloudProduct; use app\common\model\store\StoreActivityOrderProduct; use app\common\model\system\merchant\FinancialRecord; +use app\common\model\system\merchant\Merchant; use app\common\repositories\BaseRepository; use app\common\repositories\store\product\ProductRepository; use app\common\repositories\system\merchant\FinancialRecordRepository; @@ -1185,6 +1186,14 @@ class StoreRefundOrderRepository extends BaseRepository //退供应链订单 (new StoreOrderOtherDao())->refund($refundOrder); + //订单退款,减少当前商户销售金额和下单商户采购金额 + $money = bcadd($refundOrder['refund_price'], $refundOrder['refund_consumption'], 2); + Merchant::where('mer_id', $refundOrder['mer_id'])->update(['sale_amount' => Db::raw('sale_amount-' . $money)]); + $merId = Merchant::where('uid', $refundOrder['uid'])->value('mer_id'); + if (!empty($merId)) { + Merchant::where('mer_id', $merId)->update(['purchase_amount' => Db::raw('purchase_amount-' . $money)]); + } + $productIds = CloudProduct::where('activity_id', 2)->column('product_id'); StoreActivityOrderProduct::where('user_id', $refundOrder->order['uid']) ->whereIn('product_id', $productIds)