feat(order): adopt single-remainder fulfillment splits

This commit is contained in:
2026-08-11 09:22:03 +08:00
parent 39b9f237e0
commit 66b3a0cc9b
6 changed files with 265 additions and 58 deletions
+23 -4
View File
@@ -243,13 +243,13 @@ paths:
/internal/order/v1/fulfillment-splits/{tenantId}/{parentOrderId}:
get:
summary: 查询父子订单柜次树(Firstleg 内部)
summary: 查询根订单、已完成分片与当前余量(Firstleg 内部)
parameters:
- $ref: '#/components/parameters/InternalToken'
- { name: tenantId, in: path, required: true, schema: { type: integer, format: int64 } }
- { name: parentOrderId, in: path, required: true, schema: { type: integer, format: int64 } }
responses:
'200': { description: 成功 }
'200': { description: 成功;返回原始箱数、累计已装和当前余量 }
'403': { description: 内部凭证无效 }
/api/platform/v1/orders/{orderId}/fulfillment-tree:
@@ -338,14 +338,33 @@ components:
parentOrderId: {type: integer, format: int64}
parentOrderNo: {type: string}
parentVersion: {type: integer, minimum: 0}
loadedChild: {$ref: '#/components/schemas/FulfillmentSplitChild'}
remainderChild: {$ref: '#/components/schemas/FulfillmentSplitChild', nullable: true}
loadedChild:
allOf: [{$ref: '#/components/schemas/FulfillmentSplitChild'}]
description: 新写入时指向承接本次实装的来源订单本身;历史双子单仍返回原已装子订单
remainderChild:
allOf: [{$ref: '#/components/schemas/FulfillmentSplitChild'}]
nullable: true
description: 未装数量大于0时唯一创建的余量子订单;全部装完时为空
sourcePackageCount: {type: integer, minimum: 1}
loadedPackageCount: {type: integer, minimum: 1}
remainingPackageCount: {type: integer, minimum: 0}
loadingPlanId: {type: integer, format: int64}
containerBookingId: {type: integer, format: int64}
idempotencyKey: {type: string}
FulfillmentSplitTree:
type: object
properties:
parentOrderId: {type: integer, format: int64}
parentOrderNo: {type: string}
parentVersion: {type: integer, minimum: 0}
children:
type: array
items: {$ref: '#/components/schemas/FulfillmentSplitChild'}
allocatedPackageCount: {type: integer, minimum: 0, deprecated: true}
remainingPackageCount: {type: integer, minimum: 0, deprecated: true}
originalPackageCount: {type: integer, minimum: 0, description: 根订单最初箱数}
cumulativeLoadedPackageCount: {type: integer, minimum: 0, description: 所有已完成来源分片累计实装箱数}
currentRemainderPackageCount: {type: integer, minimum: 0, description: 当前唯一有效余量箱数}
PricingTaxMode:
type: string
enum: [TAX_INCLUDED, TAX_EXCLUDED]