CREATE TABLE IF NOT EXISTS `task_center_event_dedup` ( `id` bigint NOT NULL COMMENT '主键ID', `sys_origin` varchar(32) NOT NULL COMMENT '来源系统', `event_id` varchar(128) NOT NULL COMMENT '业务事件ID', `event_type` varchar(64) NOT NULL COMMENT '事件类型', `user_id` bigint NOT NULL COMMENT '用户ID', `status` varchar(32) NOT NULL COMMENT '处理状态', `failure_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', `create_time` datetime(3) DEFAULT NULL COMMENT '创建时间', `update_time` datetime(3) DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_task_center_event_dedup` (`sys_origin`, `event_id`), KEY `idx_task_center_event_dedup_status` (`status`), KEY `idx_task_center_event_dedup_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='任务中心事件幂等表'; CREATE TABLE IF NOT EXISTS `task_center_event_archive_outbox` ( `id` bigint NOT NULL COMMENT '主键ID', `sys_origin` varchar(32) NOT NULL COMMENT '来源系统', `event_id` varchar(128) NOT NULL COMMENT '业务事件ID', `event_type` varchar(64) NOT NULL COMMENT '事件类型', `user_id` bigint NOT NULL COMMENT '用户ID', `occurred_at` datetime(3) DEFAULT NULL COMMENT '业务发生时间', `raw_json` text NOT NULL COMMENT '待归档原始事件JSON', `status` varchar(32) NOT NULL DEFAULT 'PENDING' COMMENT '归档状态', `retry_count` int NOT NULL DEFAULT '0' COMMENT '重试次数', `cos_key` varchar(512) NOT NULL DEFAULT '' COMMENT 'COS对象Key', `failure_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', `create_time` datetime(3) DEFAULT NULL COMMENT '创建时间', `update_time` datetime(3) DEFAULT NULL COMMENT '更新时间', `archived_at` datetime(3) DEFAULT NULL COMMENT '归档完成时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_task_center_archive_event` (`sys_origin`, `event_id`), KEY `idx_task_center_archive_status_time` (`status`, `create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='任务中心事件COS归档Outbox';