-- 企微「3.cn 分享链 + 备注」入队后的扫描/推送任务（便于排查未推送原因）
CREATE TABLE IF NOT EXISTS `wecom_share_link_logistics_job` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `job_key` varchar(64) NOT NULL COMMENT '与 Redis 队列 JSON 中 jobKey 一致',
  `from_user_name` varchar(128) DEFAULT NULL COMMENT '发消息的企微 UserID',
  `tracking_url` varchar(768) NOT NULL COMMENT '3.cn 物流短链',
  `remark` mediumtext COMMENT '用户备注',
  `touser_push` varchar(512) DEFAULT NULL COMMENT '解析后的推送接收人（企微成员 UserID，多个逗号分隔）',
  `status` varchar(32) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/WAITING/PUSHED/ABANDONED/IMPORTED/CANCELLED',
  `waybill_no` varchar(128) DEFAULT NULL COMMENT '成功解析并推送后的运单号',
  `scan_attempts` int(11) NOT NULL DEFAULT 0 COMMENT '已扫描次数（含重新入队）',
  `last_note` varchar(512) DEFAULT NULL COMMENT '最近一次处理说明',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_job_key` (`job_key`),
  KEY `idx_status` (`status`),
  KEY `idx_from_user` (`from_user_name`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企微分享链物流扫描任务';

-- 菜单（与 wecom_inbound_trace 并列）；menu_id 若冲突请在库中改大号
INSERT INTO sys_menu VALUES (
  2094, '企微分享链物流', 2, 9, 'wecomShareLinkLogistics', 'jarvis/wecomShareLinkLogistics/index', '', '', 1, 0, 'C', '0', '0',
  'jarvis:wecom:shareLinkLog:list', 'guide', 'admin', sysdate(), '', NULL, '监控企微录入的 3.cn 物流任务与推送状态'
);
INSERT INTO sys_menu VALUES (
  2096, '从追踪补录历史', 2094, 1, '#', '', '', '', 1, 0, 'F', '0', '0',
  'jarvis:wecom:shareLinkLog:import', '#', 'admin', sysdate(), '', NULL, '从 wecom_inbound_trace 补录 IMPORTED 行'
);
