feat(phase3): connect PDA settlement to real child orders

This commit is contained in:
2026-08-10 13:02:51 +08:00
parent 20996b050b
commit 253c0e7472
14 changed files with 475 additions and 27 deletions
@@ -274,6 +274,58 @@ components:
scheme: bearer
bearerFormat: JWT
schemas:
FulfillmentSplitQuantityLine:
type: object
required: [sourceDetailId, packageCount]
properties:
sourceDetailId: {type: integer, format: int64, minimum: 1}
packageCount: {type: integer, minimum: 1}
FulfillmentSplitCreateRequest:
type: object
required: [tenantId, parentOrderId, sourceOrderId, loadingPlanId, containerBookingId,
sourcePackageCount, loadedPackageCount, remainingPackageCount, idempotencyKey, lines]
properties:
tenantId: {type: integer, format: int64, minimum: 1}
parentOrderId: {type: integer, format: int64, minimum: 1}
sourceOrderId: {type: integer, format: int64, minimum: 1}
loadingPlanId: {type: integer, format: int64, minimum: 1}
containerBookingId: {type: integer, format: int64, minimum: 1}
sourcePackageCount: {type: integer, minimum: 1}
loadedPackageCount: {type: integer, minimum: 1}
remainingPackageCount: {type: integer, minimum: 0}
expectedParentVersion: {type: integer, minimum: 0, description: 可选;省略时仍在父订单行锁下串行拆分}
idempotencyKey: {type: string, minLength: 1, maxLength: 128}
operationId: {type: string, maxLength: 64}
operatorName: {type: string, maxLength: 64}
lines:
type: array
minItems: 1
items: {$ref: '#/components/schemas/FulfillmentSplitQuantityLine'}
FulfillmentSplitChild:
type: object
properties:
orderId: {type: integer, format: int64}
orderNo: {type: string}
splitSequence: {type: integer, minimum: 1}
splitRole: {type: string, enum: [LOADED, REMAINDER]}
packageCount: {type: integer, minimum: 1}
sourceOrderId: {type: integer, format: int64}
loadingPlanId: {type: integer, format: int64}
containerBookingId: {type: integer, format: int64}
FulfillmentSplitResponse:
type: object
properties:
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}
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}
PricingTaxMode:
type: string
enum: [TAX_INCLUDED, TAX_EXCLUDED]
@@ -334,6 +386,11 @@ components:
orderNo: {type: string}
pricingTaxMode: {$ref: '#/components/schemas/PricingTaxMode'}
parameters:
InternalToken:
name: X-Internal-Service-Token
in: header
required: true
schema: {type: string, minLength: 1}
UnifiedKeyword:
name: keyword
in: query