feat(split): 添加分账手动指定接收方功能 - 实现SplitManualService服务类,支持手动覆盖分账明细 - 新增SplitManual和SplitManualLog数据模型 - 修改SplitCalculator优先使用手动覆盖数据进行分账计算 - 添加分账记录手动指定接收方的数据库表结构 - 集成手动分账到汇付分账流程中,支持失败重试机制 - 添加商品详情内容更新SQL脚本用于汇付审核 ```
38 行
1.9 KiB
SQL
38 行
1.9 KiB
SQL
-- 失败分账手动指定接收方
|
|
-- 执行前请将 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`;
|