From 23912039a57cb9c284c11d8376c2bd8162f636d1 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Fri, 15 Nov 2024 16:37:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(admin):=20=E4=BF=AE=E5=A4=8D=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E8=AE=A2=E5=8D=95=E6=80=BB=E4=BB=B7=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 BeforehandOrderLogic 中更新订单总价和数量 - 在 WarehouseProductReturnLogic 中同步更新预购订单支付价格 - 优化 WarehouseOrder 和 BeforehandOrder 的总价计算逻辑 --- app/admin/logic/beforehand_order/BeforehandOrderLogic.php | 2 +- .../warehouse_product_return/WarehouseProductReturnLogic.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php index 842136a64..c75f82e9f 100644 --- a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php +++ b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php @@ -399,7 +399,7 @@ class BeforehandOrderLogic extends BaseLogic } $finds = WarehouseProduct::where('oid', $res['id'])->field('sum(nums) as nums,sum(total_price) as total_price')->find(); WarehouseOrder::where('id', $res['id'])->update(['total_price' => $finds['total_price'], 'nums' => $finds['nums']]); - $order->save(['outbound_id' => $res['id'], 'is_outbound' => 1]); + $order->save(['outbound_id' => $res['id'], 'is_outbound' => 1,'pay_price'=>$finds['total_price']]); Db::commit(); return true; } catch (\Throwable $e) { diff --git a/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php b/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php index 686f18066..aeaf1440f 100644 --- a/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php +++ b/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php @@ -62,12 +62,12 @@ class WarehouseProductReturnLogic extends BaseLogic $total_price=0; if($nums>0){ $total_price=bcmul($nums,$find['price'],2); - } $find->save(['nums'=>$nums,'total_price'=>$total_price]); if($nums>0){ $total_price=WarehouseProduct::where('oid',$find['oid'])->sum('total_price'); WarehouseOrder::where(['id'=>$find['oid']])->update(['total_price'=>$total_price]); + BeforehandOrder::update(['pay_price'=>$total_price],['id'=>$params['bhoid']]); } WarehouseProductStorege::where(['product_id'=>$find['product_id'],'warehouse_id'=>$find['warehouse_id']])->inc('nums',$params['nums'])->update(); }elseif($params['financial_pm']==0 &&$params['return_type']==2){ From 3166a06a56325a8fbf3823fb1067c0e5494f7980 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Fri, 15 Nov 2024 16:53:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(admin):=20=E4=BF=AE=E5=A4=8D=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E4=BA=A7=E5=93=81=E9=80=80=E8=B4=A7=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=80=BB=E4=BB=B7=E8=AE=A1=E7=AE=97=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化了 WarehouseProductReturnLogic 中的总价计算逻辑 - 在更新商品数量后,同步更新订单总价和预订单支付价格 - 移除了冗余的异常捕获代码 --- .../WarehouseProductReturnLogic.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php b/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php index aeaf1440f..dbea9f7c3 100644 --- a/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php +++ b/app/admin/logic/warehouse_product_return/WarehouseProductReturnLogic.php @@ -6,6 +6,7 @@ namespace app\admin\logic\warehouse_product_return; use app\common\model\warehouse_product_return\WarehouseProductReturn; use app\common\logic\BaseLogic; use app\common\model\beforehand_order\BeforehandOrder; +use app\common\model\beforehand_order_cart_info\BeforehandOrderCartInfo; use app\common\model\warehouse_order\WarehouseOrder; use app\common\model\warehouse_product\WarehouseProduct; use app\common\model\warehouse_product_storege\WarehouseProductStorege; @@ -64,8 +65,11 @@ class WarehouseProductReturnLogic extends BaseLogic $total_price=bcmul($nums,$find['price'],2); } $find->save(['nums'=>$nums,'total_price'=>$total_price]); + $total_price=WarehouseProduct::where('oid',$find['oid'])->sum('total_price'); if($nums>0){ - $total_price=WarehouseProduct::where('oid',$find['oid'])->sum('total_price'); + WarehouseOrder::where(['id'=>$find['oid']])->update(['total_price'=>$total_price]); + BeforehandOrder::update(['pay_price'=>$total_price],['id'=>$params['bhoid']]); + }elseif($nums==0){ WarehouseOrder::where(['id'=>$find['oid']])->update(['total_price'=>$total_price]); BeforehandOrder::update(['pay_price'=>$total_price],['id'=>$params['bhoid']]); } @@ -80,7 +84,6 @@ class WarehouseProductReturnLogic extends BaseLogic return true; } catch (\Throwable $e) { Db::rollback(); - d($e); throw new BusinessException($e->getMessage()); } }