From a209a3fc2e83230a891bd400e8754df13e941be6 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sun, 13 Oct 2024 15:18:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0=E7=BA=BF?= =?UTF-8?q?=E4=B8=8A=E8=AE=A2=E5=8D=95=E5=92=8C=E6=9B=B4=E6=96=B0=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E4=BF=A1=E6=81=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在添加预订单逻辑中,禁止创建线上订单类型,只能通过转换方式产生 - 更新购物车信息时,同步更新采购产品报价中的需求数量,仅针对买家购物车 --- app/admin/logic/beforehand_order/BeforehandOrderLogic.php | 7 ++++++- .../BeforehandOrderCartInfoLogic.php | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php index 03456ae17..f574b2fd8 100644 --- a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php +++ b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php @@ -41,6 +41,11 @@ class BeforehandOrderLogic extends BaseLogic */ public static function add(array $params): bool { + + $order_type=$params['order_type'] ?? 0; + if($order_type==4){ + throw new BusinessException('不能添加线上订单,线上订单只能转换'); + } Db::startTrans(); try { $datas = []; @@ -70,7 +75,7 @@ class BeforehandOrderLogic extends BaseLogic 'deduction_price' => 0, 'paid' => 0, 'mark' => $params['mark'] ?? '', - 'order_type' => $params['order_type'] ?? 4 + 'order_type' => $order_type ]); foreach ($datas as $k => $v) { $datas[$k]['bhoid'] = $order['id']; diff --git a/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php b/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php index 0378d87c3..52f4095ed 100644 --- a/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php +++ b/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php @@ -96,13 +96,17 @@ class BeforehandOrderCartInfoLogic extends BaseLogic { Db::startTrans(); try { - BeforehandOrderCartInfo::where('id', $params['id'])->update([ + $find=BeforehandOrderCartInfo::where('id', $params['id'])->find(); + $find->save([ 'price' => $params['purchases'], 'total_price' => bcmul($params['purchases'],$params['nums'],2), 'cart_num' => $params['nums'], ]); $bhoid = $params['bhoid']; $info = BeforehandOrderCartInfo::where('bhoid', $bhoid)->field('sum(cart_num) as cart_num,sum(total_price) as total_price')->find(); + if($find['is_buyer']==1){ + PurchaseProductOffer::where('order_id',$bhoid)->where('product_id',$find['product_id'])->update(['need_num'=>$params['nums']]); + } BeforehandOrder::where('id', $bhoid)->update(['total_price' => $info['total_price'], 'total_num' => $info['cart_num']]); Db::commit(); return true;