feat(phase3): connect PDA settlement to real child orders
This commit is contained in:
@@ -63,6 +63,7 @@ CREATE TABLE IF NOT EXISTS ord_order_fulfillment_split (
|
||||
id BIGINT UNSIGNED NOT NULL COMMENT '拆分台账ID',
|
||||
tenant_id BIGINT UNSIGNED NOT NULL,
|
||||
parent_order_id BIGINT UNSIGNED NOT NULL,
|
||||
source_order_id BIGINT UNSIGNED NOT NULL COMMENT '本次实际消费的主订单或余量子订单ID',
|
||||
child_order_id BIGINT UNSIGNED NOT NULL,
|
||||
split_role VARCHAR(12) NOT NULL COMMENT '本台账子片:LOADED或REMAINDER',
|
||||
loading_plan_id BIGINT UNSIGNED NULL COMMENT 'Firstleg装柜计划逻辑ID',
|
||||
@@ -84,6 +85,7 @@ CREATE TABLE IF NOT EXISTS ord_order_fulfillment_split (
|
||||
UNIQUE KEY uk_order_split_idempotency (tenant_id, parent_order_id, idempotency_key, split_role),
|
||||
UNIQUE KEY uk_order_split_child (tenant_id, child_order_id),
|
||||
KEY idx_order_split_parent (tenant_id, parent_order_id, created_at, id),
|
||||
KEY idx_order_split_source (tenant_id, source_order_id, split_role),
|
||||
KEY idx_order_split_container (tenant_id, container_booking_id, created_at, id),
|
||||
CONSTRAINT fk_order_split_parent FOREIGN KEY (parent_order_id) REFERENCES ord_order(id),
|
||||
CONSTRAINT fk_order_split_child FOREIGN KEY (child_order_id) REFERENCES ord_order(id),
|
||||
|
||||
@@ -118,6 +118,12 @@ DELIMITER ;
|
||||
CALL phase3_order_add_column('ord_order_fulfillment_split','split_role',"VARCHAR(12) NOT NULL DEFAULT 'LOADED' COMMENT 'LOADED或REMAINDER'");
|
||||
CALL phase3_order_add_column('ord_order_fulfillment_split','source_order_id','BIGINT UNSIGNED NULL COMMENT ''实际被消费的来源订单ID''');
|
||||
CALL phase3_order_add_column('ord_order_fulfillment_split','request_hash',"CHAR(64) NULL COMMENT '请求内容SHA-256;存量记录允许为空'");
|
||||
-- 存量空来源必须先由发布前数据核对补齐;P0 契约不允许继续写无来源台账。
|
||||
ALTER TABLE ord_order_fulfillment_split
|
||||
MODIFY source_order_id BIGINT UNSIGNED NOT NULL COMMENT '实际被消费的来源订单ID',
|
||||
MODIFY request_hash CHAR(64) NOT NULL COMMENT '请求内容SHA-256';
|
||||
CALL phase3_order_add_index('ord_order_fulfillment_split','idx_order_split_source',
|
||||
'KEY `idx_order_split_source` (`tenant_id`,`source_order_id`,`split_role`)');
|
||||
|
||||
DROP PROCEDURE IF EXISTS phase3_order_drop_split_index;
|
||||
DELIMITER $$
|
||||
|
||||
Reference in New Issue
Block a user