fix(order): project exact customer fulfillment progress in detail

This commit is contained in:
2026-10-15 19:46:34 +08:00
parent 097bec33b1
commit ae33780dae
27 changed files with 391 additions and 50 deletions
+23 -9
View File
@@ -58,13 +58,7 @@ paths:
progress:
type: array
description: 与当前页订单一一对应的客户履约进度;分类互斥,待办可重叠。分片未齐时partial为true,完成只认Order可信回写。
items:
type: object
required: [orderId, stage, partial]
properties:
orderId: {type: string, pattern: '^[1-9][0-9]*$'}
stage: {type: string, enum: [none, loaded, declared, cleared, scheduled, delivering, delivered]}
partial: {type: boolean}
items: {$ref: '#/components/schemas/MerchantOrderProgress'}
/internal/order/v1/fulfillment-completions:
post:
@@ -538,7 +532,7 @@ paths:
/api/merchant/v1/orders/{orderId}:
get:
summary: 客户统一订单详情
description: 仅返回登录客户所属订单及客户可见时间线,不返回平台内部备注。
description: 仅返回登录客户所属订单及客户可见时间线,不返回平台内部备注。progress使用与工作台相同的权威投影,按认证客户和精确订单读取;根单只汇总本客户有效子单,子单只投影自身。依赖不可用时失败,不回退delivery快照。
parameters:
- $ref: '#/components/parameters/UnifiedOrderId'
responses:
@@ -546,7 +540,7 @@ paths:
description: 成功或业务失败,按响应体 code 判断
content:
application/json:
schema: {$ref: '#/components/schemas/UnifiedOrderDetailEnvelope'}
schema: {$ref: '#/components/schemas/MerchantOrderDetailEnvelope'}
'403': {description: 需要 merchant:order:view 权限}
/api/merchant/v1/orders/first-leg:
get:
@@ -1138,6 +1132,26 @@ components:
size: {type: integer, format: int64, minimum: 1}
total: {type: integer, format: int64, minimum: 0}
pages: {type: integer, format: int64, minimum: 0}
MerchantOrderProgress:
type: object
required: [orderId, stage, partial]
properties:
orderId: {type: string, pattern: '^[1-9][0-9]*$'}
stage: {type: string, enum: [none, loaded, declared, cleared, scheduled, delivering, delivered]}
partial: {type: boolean}
MerchantOrderDetailEnvelope:
type: object
properties:
code: {type: string, example: '200'}
message: {type: string}
data: {$ref: '#/components/schemas/MerchantOrderDetail'}
MerchantOrderDetail:
allOf:
- {$ref: '#/components/schemas/UnifiedOrderDetail'}
- type: object
required: [progress]
properties:
progress: {$ref: '#/components/schemas/MerchantOrderProgress'}
UnifiedOrderDetailEnvelope:
type: object
properties: