Files
junhong_cmp_fiber/migrations/archive/000093_create_refund_request.up.sql

60 lines
2.7 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 创建退款申请表
CREATE TABLE IF NOT EXISTS tb_refund_request (
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP WITH TIME ZONE,
creator BIGINT NOT NULL DEFAULT 0,
updater BIGINT NOT NULL DEFAULT 0,
-- 退款单基础信息
refund_no VARCHAR(50) NOT NULL,
order_id BIGINT NOT NULL,
package_usage_id BIGINT,
shop_id BIGINT,
-- 金额信息
actual_received_amount BIGINT NOT NULL,
requested_refund_amount BIGINT NOT NULL,
approved_refund_amount BIGINT,
-- 退款原因和状态
refund_reason TEXT,
status INT NOT NULL DEFAULT 1,
-- 审批信息
processor_id BIGINT,
processed_at TIMESTAMP WITH TIME ZONE,
reject_reason TEXT,
remark TEXT,
-- 后处理标记
commission_deducted BOOLEAN NOT NULL DEFAULT FALSE,
asset_reset BOOLEAN NOT NULL DEFAULT FALSE
);
-- 索引
CREATE UNIQUE INDEX idx_refund_request_refund_no ON tb_refund_request (refund_no) WHERE deleted_at IS NULL;
CREATE INDEX idx_refund_request_order_id ON tb_refund_request (order_id);
CREATE INDEX idx_refund_request_shop_id ON tb_refund_request (shop_id);
CREATE INDEX idx_refund_request_status ON tb_refund_request (status);
CREATE INDEX idx_refund_request_deleted_at ON tb_refund_request (deleted_at);
-- 字段注释
COMMENT ON TABLE tb_refund_request IS '退款申请表';
COMMENT ON COLUMN tb_refund_request.refund_no IS '退款单号RF+日期时间+6位随机数';
COMMENT ON COLUMN tb_refund_request.order_id IS '关联订单ID';
COMMENT ON COLUMN tb_refund_request.package_usage_id IS '关联套餐使用记录ID可选';
COMMENT ON COLUMN tb_refund_request.shop_id IS '店铺ID从订单获取用于数据权限过滤';
COMMENT ON COLUMN tb_refund_request.actual_received_amount IS '实收金额(分)';
COMMENT ON COLUMN tb_refund_request.requested_refund_amount IS '申请退款金额(分)';
COMMENT ON COLUMN tb_refund_request.approved_refund_amount IS '审批实际退款金额(分)';
COMMENT ON COLUMN tb_refund_request.refund_reason IS '退款原因';
COMMENT ON COLUMN tb_refund_request.status IS '状态 1-待审批 2-已通过 3-已拒绝 4-已退回';
COMMENT ON COLUMN tb_refund_request.processor_id IS '审批人ID';
COMMENT ON COLUMN tb_refund_request.processed_at IS '审批时间';
COMMENT ON COLUMN tb_refund_request.reject_reason IS '拒绝原因';
COMMENT ON COLUMN tb_refund_request.remark IS '审批备注';
COMMENT ON COLUMN tb_refund_request.commission_deducted IS '佣金是否已回扣';
COMMENT ON COLUMN tb_refund_request.asset_reset IS '资产是否已重置(套餐停用+停机+世代重置)';