feat(lastleg): manage three delivery document categories

This commit is contained in:
2026-09-09 11:22:47 +08:00
parent f37e9ce555
commit 465d9dfc10
26 changed files with 967 additions and 4 deletions
@@ -260,6 +260,8 @@ CREATE TABLE IF NOT EXISTS ll_delivery_order (
customer_name VARCHAR(255) NULL COMMENT '客户名称快照',
status VARCHAR(32) NOT NULL DEFAULT 'WAIT_DELIVERY' COMMENT '派送状态:WAIT_DELIVERY待派送及后续正式状态',
waybill_no VARCHAR(128) NULL COMMENT '承运运单号',
bol_no VARCHAR(128) NULL COMMENT '派送资料BOL号,不作为文件归属标识',
documents_json JSON NULL COMMENT '派送三类资料当前绑定及权威文件元数据快照',
delivery_method VARCHAR(32) NULL COMMENT '派送方式',
carrier_name VARCHAR(255) NULL COMMENT '派送承运商',
pickup_method VARCHAR(64) NULL COMMENT '提货方式',
@@ -306,6 +308,21 @@ CREATE TABLE IF NOT EXISTS ll_delivery_fee (
amount DECIMAL(18,2) NOT NULL COMMENT '费用金额', remark VARCHAR(500) NULL COMMENT '费用备注', created_by VARCHAR(128) NULL COMMENT '创建人ID',
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', PRIMARY KEY(id), KEY idx_ll_delivery_fee_order(customer_id,delivery_order_id,id)
) ENGINE=InnoDB COMMENT='派送单费用明细';
CREATE TABLE IF NOT EXISTS ll_delivery_document_revision (
id BIGINT NOT NULL COMMENT '派送资料历史ID',
customer_id VARCHAR(128) NOT NULL COMMENT '派送所属客户隔离键',
delivery_order_id BIGINT NOT NULL COMMENT '派送单ID',
version BIGINT NOT NULL COMMENT '保存成功时派送单版本',
idempotency_key VARCHAR(128) NOT NULL COMMENT '资料保存幂等键',
request_hash VARCHAR(64) NOT NULL COMMENT '完整保存请求哈希',
snapshot_json JSON NOT NULL COMMENT '不可变三类资料及BOL号结果快照',
operator_id VARCHAR(128) NOT NULL COMMENT '保存操作人ID',
created_at DATETIME(3) NOT NULL COMMENT '资料保存时间',
PRIMARY KEY(id),
UNIQUE KEY uk_delivery_document_command(customer_id,delivery_order_id,idempotency_key),
UNIQUE KEY uk_delivery_document_version(customer_id,delivery_order_id,version)
) ENGINE=InnoDB COMMENT='派送资料版本历史与幂等保存记录';
CREATE TABLE IF NOT EXISTS ll_delivery_operation (
id BIGINT NOT NULL COMMENT '派送操作主键', customer_id VARCHAR(128) NOT NULL COMMENT '客户数据隔离键', delivery_order_id BIGINT NOT NULL COMMENT '派送单ID',
operation_node VARCHAR(64) NOT NULL COMMENT '操作节点', operator_id VARCHAR(128) NULL COMMENT '操作人ID', operator_name VARCHAR(128) NULL COMMENT '操作人名称',