feat(appointments): support scoped receiving and stable trip continuation

This commit is contained in:
2026-10-16 15:43:04 +08:00
parent 4e2ea89403
commit 30f48bd926
84 changed files with 4879 additions and 136 deletions
@@ -358,6 +358,14 @@ components:
properties:
trip: {$ref: '#/components/schemas/Trip'}
dispatches: {type: array, items: {$ref: '#/components/schemas/DispatchBinding'}}
previousDispatches:
type: array
description: 原绑定历史中已不在当前绑定的批次、客户及来源引用,按最新有效证据去重;历史数量不作为当前装载或可分配数量
items: {$ref: '#/components/schemas/PreviousDispatch'}
appointmentHistoryUnavailableReason:
type: string
nullable: true
description: 原绑定历史缺少引用证据或超过1000条读取上限时的明确原因;仅历史引用不可完整使用,当前车次和绑定仍可读
loadingReview: {$ref: '#/components/schemas/ReviewState'}
driverQualification:
type: object
@@ -681,13 +689,24 @@ components:
recordVersion: {type: integer, format: int64, nullable: true, description: 本次审核所核对的车次版本}
DispatchBinding:
type: object
required: [appointmentBatches]
properties:
appointmentBatches: {type: array, items: {$ref: 'overseas-business-v1.yaml#/components/schemas/DispatchBatchReference'}}
dispatchNo: {type: string}
customerId: {type: string, description: 排车单自身客户归属,由服务端解析}
packageCount: {type: integer, description: 关联时待发运箱数,不是实物托位数}
boundBy: {type: string}
boundAt: {type: string, format: date-time}
review: {$ref: '#/components/schemas/ReviewState'}
PreviousDispatch:
type: object
required: [dispatchNo, customerId, recordVersion, recordedAt, appointmentBatches]
properties:
dispatchNo: {type: string}
customerId: {type: string}
recordVersion: {type: integer, format: int64, description: 原绑定历史的车次版本}
recordedAt: {type: string, format: date-time}
appointmentBatches: {type: array, items: {$ref: 'overseas-business-v1.yaml#/components/schemas/DispatchBatchReference'}}
Envelope:
type: object
properties: