-- 失败分账手动指定接收方 -- 执行前请将 fa_ 替换为实际表前缀 CREATE TABLE IF NOT EXISTS `fa_shopro_split_manual` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL COMMENT '订单ID', `items` text NOT NULL COMMENT '当前手动明细JSON', `original_items` text COMMENT '首次改人时自动计算快照JSON', `admin_id` int(11) NOT NULL DEFAULT 0 COMMENT '最后操作管理员', `remark` varchar(255) DEFAULT NULL COMMENT '备注', `createtime` int(10) NOT NULL, `updatetime` int(10) NOT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `order_id` (`order_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分账手动覆盖(当前值)'; CREATE TABLE IF NOT EXISTS `fa_shopro_split_manual_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL COMMENT '订单ID', `order_sn` varchar(50) NOT NULL DEFAULT '' COMMENT '订单号', `action` enum('create','update','clear','retry') NOT NULL DEFAULT 'update' COMMENT '操作类型', `before_items` text COMMENT '变更前明细JSON', `after_items` text COMMENT '变更后明细JSON', `admin_id` int(11) NOT NULL DEFAULT 0, `admin_name` varchar(64) DEFAULT NULL COMMENT '操作人姓名', `remark` varchar(255) DEFAULT NULL, `retry_split_order_id` int(11) DEFAULT NULL COMMENT '关联分账单ID', `retry_result` enum('pending','success','fail') DEFAULT NULL COMMENT '重试结果', `retry_message` text COMMENT '重试失败原因', `createtime` int(10) NOT NULL, PRIMARY KEY (`id`) USING BTREE, KEY `order_id` (`order_id`) USING BTREE, KEY `createtime` (`createtime`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分账手动覆盖变更历史'; ALTER TABLE `fa_shopro_split_order` ADD COLUMN `split_source` varchar(16) NOT NULL DEFAULT 'auto' COMMENT 'auto=自动计算,manual=手动指定' AFTER `status`;