This commit is contained in:
Your Name
2026-04-07 18:13:03 +08:00
parent a780356908
commit fdf714f833
397 changed files with 15086 additions and 1043 deletions
@@ -0,0 +1,154 @@
-- ============================================
-- 物流追踪系统数据库表
-- ============================================
-- 1. 物流订单表(主表)
CREATE TABLE IF NOT EXISTS `zyt_express_tracking` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`order_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联订单IDprescription_order表)',
`order_type` varchar(50) NOT NULL DEFAULT 'prescription' COMMENT '订单类型',
`tracking_number` varchar(80) NOT NULL DEFAULT '' COMMENT '快递单号',
`express_company` varchar(50) NOT NULL DEFAULT 'auto' COMMENT '快递公司编码',
`express_company_name` varchar(100) NOT NULL DEFAULT '' COMMENT '快递公司名称',
`recipient_phone` varchar(20) NOT NULL DEFAULT '' COMMENT '收件人手机号',
`recipient_name` varchar(100) NOT NULL DEFAULT '' COMMENT '收件人姓名',
`recipient_address` varchar(500) NOT NULL DEFAULT '' COMMENT '收件地址',
-- 物流状态
`current_state` varchar(10) NOT NULL DEFAULT '0' COMMENT '当前物流状态:0在途,1揽收,2疑难,3签收,4退签,5派件,6退回,7转投,8清关,10待清关,11清关中,12已清关,13清关异常,14拒签',
`current_state_text` varchar(50) NOT NULL DEFAULT '' COMMENT '当前状态文本',
`is_signed` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已签收:0否,1是',
`sign_time` int(11) NOT NULL DEFAULT '0' COMMENT '签收时间',
-- 最新轨迹
`latest_trace_time` varchar(50) NOT NULL DEFAULT '' COMMENT '最新轨迹时间',
`latest_trace_context` varchar(500) NOT NULL DEFAULT '' COMMENT '最新轨迹内容',
`latest_location` varchar(200) NOT NULL DEFAULT '' COMMENT '最新位置',
-- 查询信息
`last_query_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后查询时间',
`query_count` int(11) NOT NULL DEFAULT '0' COMMENT '查询次数',
`data_source` varchar(50) NOT NULL DEFAULT '' COMMENT '数据来源:kuaidi100/official',
-- 预计信息
`estimated_arrival_time` varchar(50) NOT NULL DEFAULT '' COMMENT '预计到达时间',
`total_time` varchar(50) NOT NULL DEFAULT '' COMMENT '总耗时',
`remain_time` varchar(50) NOT NULL DEFAULT '' COMMENT '剩余时间',
-- 自动更新控制
`auto_update` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否自动更新:0否,1是',
`update_interval` int(11) NOT NULL DEFAULT '1800' COMMENT '更新间隔(秒),默认30分钟',
`next_update_time` int(11) NOT NULL DEFAULT '0' COMMENT '下次更新时间',
-- 通知设置
`notify_on_sign` tinyint(1) NOT NULL DEFAULT '1' COMMENT '签收时通知:0否,1是',
`notify_on_problem` tinyint(1) NOT NULL DEFAULT '1' COMMENT '异常时通知:0否,1是',
`notified_states` varchar(500) NOT NULL DEFAULT '' COMMENT '已通知的状态(JSON数组)',
-- 扩展信息
`route_info` text COMMENT '路由信息(JSON',
`extra_data` text COMMENT '扩展数据(JSON',
-- 时间戳
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间',
`delete_time` int(11) DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tracking_number` (`tracking_number`),
KEY `idx_order_id` (`order_id`),
KEY `idx_state` (`current_state`),
KEY `idx_auto_update` (`auto_update`, `next_update_time`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流追踪主表';
-- 2. 物流轨迹明细表
CREATE TABLE IF NOT EXISTS `zyt_express_trace` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tracking_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联tracking表ID',
`tracking_number` varchar(80) NOT NULL DEFAULT '' COMMENT '快递单号(冗余,便于查询)',
-- 轨迹信息
`trace_time` varchar(50) NOT NULL DEFAULT '' COMMENT '轨迹时间',
`trace_time_stamp` int(11) NOT NULL DEFAULT '0' COMMENT '轨迹时间戳',
`trace_context` varchar(1000) NOT NULL DEFAULT '' COMMENT '轨迹内容',
-- 状态信息
`status` varchar(50) NOT NULL DEFAULT '' COMMENT '物流状态名称',
`status_code` varchar(10) NOT NULL DEFAULT '' COMMENT '物流状态码',
-- 位置信息
`location` varchar(200) NOT NULL DEFAULT '' COMMENT '当前位置',
`area_code` varchar(50) NOT NULL DEFAULT '' COMMENT '行政区域编码',
`area_name` varchar(200) NOT NULL DEFAULT '' COMMENT '行政区域名称',
`area_center` varchar(100) NOT NULL DEFAULT '' COMMENT '区域中心坐标',
-- 扩展信息
`extra_data` text COMMENT '扩展数据(JSON',
-- 时间戳
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_tracking_id` (`tracking_id`),
KEY `idx_tracking_number` (`tracking_number`),
KEY `idx_trace_time_stamp` (`trace_time_stamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流轨迹明细表';
-- 3. 物流状态变更记录表
CREATE TABLE IF NOT EXISTS `zyt_express_state_log` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tracking_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联tracking表ID',
`tracking_number` varchar(80) NOT NULL DEFAULT '' COMMENT '快递单号',
-- 状态变更
`old_state` varchar(10) NOT NULL DEFAULT '' COMMENT '旧状态',
`old_state_text` varchar(50) NOT NULL DEFAULT '' COMMENT '旧状态文本',
`new_state` varchar(10) NOT NULL DEFAULT '' COMMENT '新状态',
`new_state_text` varchar(50) NOT NULL DEFAULT '' COMMENT '新状态文本',
-- 变更信息
`change_time` int(11) NOT NULL DEFAULT '0' COMMENT '变更时间',
`change_reason` varchar(500) NOT NULL DEFAULT '' COMMENT '变更原因(最新轨迹内容)',
-- 通知信息
`is_notified` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已通知:0否,1是',
`notify_time` int(11) NOT NULL DEFAULT '0' COMMENT '通知时间',
`notify_result` varchar(500) NOT NULL DEFAULT '' COMMENT '通知结果',
-- 时间戳
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_tracking_id` (`tracking_id`),
KEY `idx_tracking_number` (`tracking_number`),
KEY `idx_change_time` (`change_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流状态变更记录表';
-- 4. 物流查询日志表
CREATE TABLE IF NOT EXISTS `zyt_express_query_log` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tracking_number` varchar(80) NOT NULL DEFAULT '' COMMENT '快递单号',
`express_company` varchar(50) NOT NULL DEFAULT '' COMMENT '快递公司编码',
-- 查询信息
`query_type` varchar(50) NOT NULL DEFAULT 'manual' COMMENT '查询类型:manual手动,auto自动',
`query_source` varchar(50) NOT NULL DEFAULT '' COMMENT '查询来源:kuaidi100/official',
`query_time` int(11) NOT NULL DEFAULT '0' COMMENT '查询时间',
-- 查询结果
`is_success` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否成功:0否,1是',
`error_code` varchar(50) NOT NULL DEFAULT '' COMMENT '错误码',
`error_message` varchar(500) NOT NULL DEFAULT '' COMMENT '错误信息',
-- 响应信息
`response_time` int(11) NOT NULL DEFAULT '0' COMMENT '响应时间(毫秒)',
`trace_count` int(11) NOT NULL DEFAULT '0' COMMENT '轨迹数量',
-- 时间戳
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_tracking_number` (`tracking_number`),
KEY `idx_query_time` (`query_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流查询日志表';