mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 21:40:50 +00:00
fix(实物订单): 送货发货补录送货人uid并随详情返回
delivery_uid 无实体列,原 syncCenter 直写中台表报 fields not exists; 改经 updateDeliveryInfo 随 extra_info.delivery JSON 落库,详情监听器提升顶层返回
This commit is contained in:
parent
8ac1b54608
commit
048f5cf96c
@ -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);
|
||||
}
|
||||
|
||||
// 写入订单记录
|
||||
|
||||
@ -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'] ?? ''));
|
||||
|
||||
@ -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),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user