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,