-- ============================================ -- 支付宝from消息回调记录表 - 创建表 -- ============================================ -- 说明:用于记录和存储支付宝from消息回调的所有记录 -- 执行时间:2025-XX-XX -- ============================================ CREATE TABLE `alipay_from_callback` ( `id` CHAR(36) NOT NULL COMMENT 'UUID主键', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0' COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)', /* 业务字段 */ `msg_method` varchar(100) NOT NULL COMMENT '消息类型,如:alipay.merchant.tradecomplain.changed, alipay.security.risk.complaints.merchants.notify', `app_id` varchar(50) NOT NULL COMMENT '应用ID', `notify_id` varchar(100) DEFAULT NULL COMMENT '通知ID(支付宝返回的)', `biz_content` text NOT NULL COMMENT '业务内容(JSON字符串,存储完整的biz_content)', `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '处理状态:pending=待处理,processed=已处理,failed=处理失败', `error_message` text DEFAULT NULL COMMENT '错误信息(如果处理失败)', PRIMARY KEY (`id`), KEY `idx_msg_method` (`msg_method`) COMMENT '优化按消息类型查询', KEY `idx_app_id` (`app_id`) COMMENT '优化按应用ID查询', KEY `idx_notify_id` (`notify_id`) COMMENT '优化按通知ID查询(用于去重)', KEY `idx_status` (`status`) COMMENT '优化按处理状态查询', KEY `idx_create_time` (`create_time`) COMMENT '优化按创建时间查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='支付宝from消息回调记录表'; -- ============================================ -- 说明: -- 1. 此表用于记录所有支付宝from消息回调的原始数据 -- 2. biz_content 存储完整的JSON字符串,便于后续查看和调试 -- 3. status 字段用于标记回调的处理状态 -- 4. notify_id 可用于去重,避免重复处理同一条回调 -- 5. 支持软删除(del_state) -- 6. 由于回调类型多样,不解析biz_content,统一存储JSON字符串 -- ============================================