From 048f5cf96c621e8e689d57fe2b43babea78dfe13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Sat, 10 Oct 2026 11:23:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=AE=9E=E7=89=A9=E8=AE=A2=E5=8D=95):=20?= =?UTF-8?q?=E9=80=81=E8=B4=A7=E5=8F=91=E8=B4=A7=E8=A1=A5=E5=BD=95=E9=80=81?= =?UTF-8?q?=E8=B4=A7=E4=BA=BAuid=E5=B9=B6=E9=9A=8F=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit delivery_uid 无实体列,原 syncCenter 直写中台表报 fields not exists; 改经 updateDeliveryInfo 随 extra_info.delivery JSON 落库,详情监听器提升顶层返回 --- .../product/normal/controller/admin/OrderController.php | 6 ++---- .../normal/listener/OrderCenterDetailExtendListener.php | 3 +++ backend/modules/product/normal/service/OrderServices.php | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/modules/product/normal/controller/admin/OrderController.php b/backend/modules/product/normal/controller/admin/OrderController.php index 0cc588444..391f41646 100644 --- a/backend/modules/product/normal/controller/admin/OrderController.php +++ b/backend/modules/product/normal/controller/admin/OrderController.php @@ -470,15 +470,13 @@ class OrderController extends AuthController // 配送/送货 $deliveryName = $this->request->param('sh_delivery_name', ''); $deliveryId = $this->request->param('sh_delivery_id', ''); - $shDeliveryUid = $this->request->param('sh_delivery_uid', 0); + $shDeliveryUid = (int)$this->request->param('sh_delivery_uid', 0); if (empty($deliveryName)) { return app('json')->fail('请选择送货人'); } if (empty($deliveryId)) { return app('json')->fail('请输入送货人电话'); } - // 配送员信息存入扩展表 - $orderServices->syncCenter($orderNo, ['delivery_uid' => $shDeliveryUid]); break; case 'fictitious': // 虚拟发货(无需配送) @@ -517,7 +515,7 @@ class OrderController extends AuthController $deliveryId = (string)($dumpResult['kuaidinum'] ?? $deliveryId); } else { // 通过 OrderServices 统一更新扩展表配送信息 + 状态 + 中台表同步 - $orderServices->updateDeliveryInfo($orderNo, $deliveryName, $deliveryId, $deliveryType); + $orderServices->updateDeliveryInfo($orderNo, $deliveryName, $deliveryId, $deliveryType, $shDeliveryUid ?? 0); } // 写入订单记录 diff --git a/backend/modules/product/normal/listener/OrderCenterDetailExtendListener.php b/backend/modules/product/normal/listener/OrderCenterDetailExtendListener.php index 88e42479a..e93a1ddec 100644 --- a/backend/modules/product/normal/listener/OrderCenterDetailExtendListener.php +++ b/backend/modules/product/normal/listener/OrderCenterDetailExtendListener.php @@ -80,6 +80,9 @@ class OrderCenterDetailExtendListener implements ListenerInterface if (empty($detail['delivery_code'])) { $detail['delivery_code'] = $delivery['delivery_code'] ?? ''; } + if (empty($detail['delivery_uid'])) { + $detail['delivery_uid'] = (int)($delivery['delivery_uid'] ?? 0); + } } $deliveryType = (string)($extraInfo['delivery_type'] ?? ($extraInfo['delivery']['delivery_type'] ?? '')); diff --git a/backend/modules/product/normal/service/OrderServices.php b/backend/modules/product/normal/service/OrderServices.php index ca5291ef2..40ad087b0 100644 --- a/backend/modules/product/normal/service/OrderServices.php +++ b/backend/modules/product/normal/service/OrderServices.php @@ -149,9 +149,10 @@ class OrderServices extends BaseService * @param string $deliveryName 快递公司/配送员 * @param string $deliveryId 快递单号/电话 * @param string $deliveryType 配送方式(express/send/fictitious) + * @param int $deliveryUid 送货人uid(仅送货方式有值,随 extra_info.delivery 存中台表 JSON) * @return void */ - public function updateDeliveryInfo(string $orderNo, string $deliveryName, string $deliveryId, string $deliveryType = 'express'): void + public function updateDeliveryInfo(string $orderNo, string $deliveryName, string $deliveryId, string $deliveryType = 'express', int $deliveryUid = 0): void { // 更新扩展表配送信息 + 状态 $this->dao->update(['order_no' => $orderNo], [ @@ -171,6 +172,7 @@ class OrderServices extends BaseService 'delivery_type' => $deliveryType, 'delivery_name' => $deliveryName, 'delivery_id' => $deliveryId, + 'delivery_uid' => $deliveryUid, ]; $this->centerServices->updateRecord($orderNo, [ 'extra_info' => json_encode($extraInfo, JSON_UNESCAPED_UNICODE),