-- =====================================================
-- 微信分账回退单（场景 C 退款前置）
-- 模块：business-finance / profitsharing
-- 版本：1.0
-- 创建时间：2026-06-11
-- 说明：biz_profit_sharing_return 记录分账回退请求与渠道回执
-- 号段：主键 1926061440000000101 起
-- =====================================================

CREATE TABLE IF NOT EXISTS `biz_profit_sharing_return` (
    `id` VARCHAR(64) NOT NULL COMMENT '主键ID',

    `return_no` VARCHAR(64) NOT NULL COMMENT '平台回退单号（业务侧唯一）',
    `out_return_no` VARCHAR(64) NOT NULL COMMENT '商户回退单号（微信 out_return_no）',
    `profit_sharing_order_id` VARCHAR(64) NOT NULL COMMENT '关联分账单ID',
    `pay_refund_order_id` VARCHAR(64) DEFAULT NULL COMMENT '关联退款单ID',
    `mall_order_id` VARCHAR(64) DEFAULT NULL COMMENT '商城子订单ID',
    `sub_mch_id` VARCHAR(32) NOT NULL COMMENT '二级商户号',
    `sharing_no` VARCHAR(64) NOT NULL COMMENT '原商户分账单号 out_order_no',
    `wx_order_id` VARCHAR(64) DEFAULT NULL COMMENT '微信分账单号 order_id',
    `transaction_id` VARCHAR(128) DEFAULT NULL COMMENT '微信 transaction_id',
    `return_mch_id` VARCHAR(32) NOT NULL COMMENT '回退商户号（分账接收方）',
    `return_amount_fen` INT NOT NULL DEFAULT 0 COMMENT '回退金额（分）',
    `status` VARCHAR(32) NOT NULL DEFAULT 'PENDING' COMMENT '状态：PENDING-待发起 PROCESSING-处理中 SUCCESS-成功 FAIL-失败',
    `wx_return_no` VARCHAR(64) DEFAULT NULL COMMENT '微信回退单号 return_no',
    `wx_result` VARCHAR(32) DEFAULT NULL COMMENT '微信回退结果：PROCESSING、SUCCESS、FAILED',
    `fail_reason` VARCHAR(255) DEFAULT NULL COMMENT '失败原因',
    `return_time` DATETIME DEFAULT NULL COMMENT '回退成功时间',
    `retry_count` INT NOT NULL DEFAULT 0 COMMENT '重试次数',
    `next_retry_time` DATETIME DEFAULT NULL COMMENT '下次重试时间',
    `error_code` VARCHAR(64) DEFAULT NULL COMMENT '渠道错误码',
    `error_msg` VARCHAR(500) DEFAULT NULL COMMENT '渠道错误说明',
    `description` VARCHAR(255) DEFAULT NULL COMMENT '回退描述',
    `raw_request` TEXT COMMENT '渠道请求原文',
    `raw_response` TEXT COMMENT '渠道响应原文',

    `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
    `create_date` DATETIME DEFAULT NULL COMMENT '创建时间',
    `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
    `update_date` DATETIME DEFAULT NULL COMMENT '更新时间',
    `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标记：0-正常 1-删除',
    `remarks` VARCHAR(255) DEFAULT NULL COMMENT '备注信息',
    `tenant_code` VARCHAR(64) DEFAULT NULL COMMENT '租户编码',
    `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户ID',

    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_return_no` (`return_no`),
    UNIQUE KEY `uk_out_return_no` (`out_return_no`),
    UNIQUE KEY `uk_pay_refund_order` (`pay_refund_order_id`),
    KEY `idx_profit_sharing_order_id` (`profit_sharing_order_id`),
    KEY `idx_mall_order_id` (`mall_order_id`),
    KEY `idx_status` (`status`),
    KEY `idx_create_date` (`create_date`),
    KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='微信分账回退单';
