From b9842528d4a1663106161e9c3cfe4717d8852bc6 Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 23 Sep 2026 15:03:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=9B=E5=BB=BA=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/service/OrderService.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/application/common/service/OrderService.php b/backend/application/common/service/OrderService.php index 1dc3848..801cde7 100644 --- a/backend/application/common/service/OrderService.php +++ b/backend/application/common/service/OrderService.php @@ -19,6 +19,8 @@ class OrderService const LOCK_ORDER_PREFIX = 'lock_order_cache:'; //重复创建订单锁 + const DEFAULT_SAAS_ID = '1000'; //默认商家ID(fa_orders.saas_id 为 NOT NULL 且无默认值,商品无归属时兜底) + //订单状态 const ORDER_STATUS_NO = 0; //关闭 const ORDER_STATUS_WAIT_PAY = 10; //待付款 @@ -125,18 +127,26 @@ class OrderService 'goods_payment_price' => $item['price'], ]; } + // saas_id 取商品归属商家,取不到时用默认值(fa_orders.saas_id 不允许为空且无默认值) + $goodsInfo = GoodsService::getOne(['spu_id' => $goodsRequestList[0]['spuId'] ?? '']); + $saasId = ($goodsInfo && !empty($goodsInfo->saas_id)) ? $goodsInfo->saas_id : self::DEFAULT_SAAS_ID; + $storeInfo = $requestData['storeInfoList'][0] ?? []; $orderData = [ 'user_id' => $userId, - 'store_id' => 1, + 'saas_id' => $saasId, + 'store_id' => $storeInfo['storeId'] ?? ($goodsRequestList[0]['storeId'] ?? 1), + 'store_name' => $storeInfo['storeName'] ?? '', + 'parent_order_no' => '', // 单订单无父子关系,稍后回填为自身订单号 'order_no' => generate_order_sn(), 'order_status' => OrderService::ORDER_STATUS_WAIT_PAY, 'order_type' => 0, 'total_amount' => $total_amount, 'payment_amount' => $total_amount, - 'goods_amount' => $total_quantity, + 'goods_amount' => $total_amount, 'discount_amount' => 0, - 'remark' => $requestData['storeInfoList'][0]['remark'] ?? '', + 'remark' => $storeInfo['remark'] ?? '', ]; + $orderData['parent_order_no'] = $orderData['order_no']; $existed = OrderService::getOne(['order_no' => $orderData['order_no']]); if (!$existed) { //创建订单及订单商品 @@ -207,7 +217,9 @@ class OrderService ]]; $orderData = [ 'user_id' => $demand->user_id, + 'saas_id' => self::DEFAULT_SAAS_ID, 'store_id' => 1, + 'store_name' => '', 'parent_order_no' => $demand->parent_order_no, 'order_no' => generate_order_sn(), 'order_status' => OrderService::ORDER_STATUS_WAIT_PAY,