第一次上传
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
USE youlai_admin;
|
||||
|
||||
-- 订单异常补偿闭环升级脚本
|
||||
-- 说明:
|
||||
-- 1. 为订单主表补充补偿状态、补偿说明、重试次数和最近补偿时间。
|
||||
-- 2. 新增订单补偿记录表,保留每次退款补偿尝试的结果。
|
||||
-- 3. 新增“订单补偿重试”按钮权限,方便后台人工重试失败补偿。
|
||||
|
||||
ALTER TABLE `xxk_proxy_order`
|
||||
ADD COLUMN `compensation_status` VARCHAR(32) NOT NULL DEFAULT 'NONE' COMMENT '补偿状态(NONE无需补偿 PENDING待补偿 SUCCESS补偿成功 FAIL补偿失败)' AFTER `open_status`,
|
||||
ADD COLUMN `compensation_reason` VARCHAR(255) NULL COMMENT '补偿说明' AFTER `remark`,
|
||||
ADD COLUMN `compensation_retry_count` INT NOT NULL DEFAULT 0 COMMENT '补偿重试次数' AFTER `compensation_reason`,
|
||||
ADD COLUMN `last_compensation_time` DATETIME NULL COMMENT '最近补偿时间' AFTER `compensation_retry_count`,
|
||||
ADD KEY `idx_xxk_proxy_order_compensation_status` (`compensation_status`, `update_time`);
|
||||
|
||||
CREATE TABLE `xxk_order_compensation_record` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`order_id` BIGINT NOT NULL COMMENT '订单ID',
|
||||
`order_no` VARCHAR(64) NOT NULL COMMENT '订单号',
|
||||
`compensation_type` VARCHAR(32) NOT NULL COMMENT '补偿类型',
|
||||
`attempt_no` INT NOT NULL DEFAULT 1 COMMENT '第几次补偿尝试',
|
||||
`compensation_status` VARCHAR(32) NOT NULL DEFAULT 'PENDING' COMMENT '补偿状态(PENDING/SUCCESS/FAIL)',
|
||||
`reason` VARCHAR(255) DEFAULT NULL COMMENT '补偿原因',
|
||||
`error_message` VARCHAR(500) DEFAULT NULL COMMENT '失败原因',
|
||||
`related_flow_no` VARCHAR(64) DEFAULT NULL COMMENT '关联退款流水号',
|
||||
`operator_id` BIGINT DEFAULT NULL COMMENT '操作人ID',
|
||||
`operator_name` VARCHAR(100) DEFAULT NULL COMMENT '操作人名称',
|
||||
`execute_time` DATETIME DEFAULT NULL COMMENT '执行时间',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0否 1是)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_xxk_order_compensation_attempt` (`order_id`, `compensation_type`, `attempt_no`),
|
||||
KEY `idx_xxk_order_compensation_order_no` (`order_no`),
|
||||
KEY `idx_xxk_order_compensation_status` (`compensation_status`, `execute_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单补偿记录表';
|
||||
|
||||
INSERT INTO `sys_menu`
|
||||
(`id`, `parent_id`, `tree_path`, `name`, `type`, `route_name`, `route_path`, `component`, `perm`,
|
||||
`always_show`, `keep_alive`, `visible`, `sort`, `icon`, `redirect`, `create_time`, `update_time`, `params`)
|
||||
VALUES
|
||||
(11504, 1150, '0,1100,1150', '订单补偿重试', 'B', NULL, '', NULL, 'proxy:order:compensate',
|
||||
NULL, NULL, 1, 4, '', NULL, NOW(), NOW(), NULL)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`name` = VALUES(`name`),
|
||||
`perm` = VALUES(`perm`),
|
||||
`visible` = VALUES(`visible`),
|
||||
`sort` = VALUES(`sort`),
|
||||
`update_time` = NOW();
|
||||
|
||||
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES
|
||||
(2, 11504);
|
||||
Reference in New Issue
Block a user