feat(lastleg): connect appointment followups and fleet intake

This commit is contained in:
2026-10-09 22:04:49 +08:00
parent 1202cafadf
commit 0d75e311d0
54 changed files with 2315 additions and 25 deletions
+25 -1
View File
@@ -1479,6 +1479,30 @@ CREATE TABLE ll_order (
KEY idx_ll_order_container_progress (source_container_booking_id,estimated_warehouse_at,created_at,id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='尾程订单主表';
CREATE TABLE ll_appointment_followup (
id BIGINT NOT NULL COMMENT '预约筹划跟进记录ID',
source_key VARCHAR(160) NOT NULL COMMENT '稳定ORDER或BOOKING来源键,不因实收转换而变化',
customer_id VARCHAR(128) NOT NULL COMMENT '服务端核实的来源客户',
source_order_id BIGINT NULL COMMENT '已形成的真实尾程货源ID,尚未生成时为空',
stage VARCHAR(32) NOT NULL COMMENT '跟进对象:DRAYAGE_CONTACT/TERMINAL_APPOINTMENT/WAREHOUSE_RECEIVING/FBA_RECEIVING',
version INT NOT NULL COMMENT '同一货源及跟进对象的记录版本',
contacted_party VARCHAR(200) NULL COMMENT '本次联系对象,不替代承运主档',
result VARCHAR(1000) NOT NULL COMMENT '本次反馈事实,不自动确认预约或推进实物作业',
next_action VARCHAR(500) NULL COMMENT '下一步安排',
followup_date DATE NULL COMMENT '按业务地点当地日期记录的下次跟进日',
operator_id VARCHAR(128) NOT NULL COMMENT '登录平台操作者ID',
operator_name VARCHAR(200) NULL COMMENT '操作人姓名快照',
command_key VARCHAR(64) NOT NULL COMMENT '持久幂等键',
request_hash CHAR(64) NOT NULL COMMENT '含操作者身份的请求SHA256摘要',
created_at DATETIME(3) NOT NULL COMMENT 'UTC记录时间',
PRIMARY KEY (id),
UNIQUE KEY uk_appointment_followup_version (source_key,stage,version),
UNIQUE KEY uk_appointment_followup_command (source_key,stage,command_key),
KEY idx_appointment_followup_date (followup_date,source_order_id),
CONSTRAINT fk_appointment_followup_order FOREIGN KEY (source_order_id) REFERENCES ll_order(id),
CONSTRAINT chk_appointment_followup_stage CHECK (stage IN ('DRAYAGE_CONTACT','TERMINAL_APPOINTMENT','WAREHOUSE_RECEIVING','FBA_RECEIVING'))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='真实在途货源的预约筹划联系记录,追加留痕';
CREATE TABLE ll_order_command_record (
id bigint NOT NULL COMMENT '尾程订单命令幂等记录ID',
customer_id varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户数据隔离键',
@@ -3601,4 +3625,4 @@ CREATE TABLE ll_return_carton_count_session (
UNIQUE KEY uk_ll_return_count_session_receipt(receipt_id)
) ENGINE=InnoDB COMMENT='退货箱内清点单人单任务持久会话';
SELECT 'PASS' AS initialization_status, 'OVERSEAS' AS region, 160 AS initialized_tables;
SELECT 'PASS' AS initialization_status, 'OVERSEAS' AS region, 161 AS initialized_tables;