Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
- 新增六对成对迁移 000232–000237:H5 弹窗类型、退款结算标识与申请人备注、优先轮询事实字段与两个新终态、通道阈值命中留痕、手机号最近解绑人、提现资格校验留痕 - 退款:原因必填与申请人备注、来源支付与渠道流水冻结、线下处理流水号补录审计、按订单查询可选退款方式、企微审批材料补齐且新增字段缺失映射即明确失败 - 优先轮询:人工关闭、有效期到期独立周期任务、失败与过期人工重触发、事实字段与异常重试查询、资产解析端点只读投影 - 通道阈值:命中事实同事务留痕与命中记录查询;员工账单:列表筛选与详情投影;商户池:列表投影与统计周期语义;H5:弹窗类型与类别排序 - 手机号:有效关联数量与最近解绑人、短信验证码失败次数限制;导出:佣金明细十五列与报表序号列 - 时间筛选:三处新增筛选纳入统一严格解析契约,员工账单产生时间参数改名 - 同步 12 份主 Spec 需求、两端点与异步任务证据链,门禁 context-health 与 OpenSpec 校验通过
34 lines
3.5 KiB
SQL
34 lines
3.5 KiB
SQL
-- 退款链路补齐结算标识与申请人备注。
|
||
-- 背景:退款单需要可追溯「原支付单号」与「原支付渠道交易流水号」,财务需要登记线下退款处理流水号;
|
||
-- 退款申请还需要支持可选的申请人备注,且备注必须随每次提交或重提冻结进当次审批尝试快照。
|
||
--
|
||
-- 设计选择:
|
||
-- 1. 来源支付单号与原支付渠道交易流水号直接冻结在退款主表:这两项来自创建申请时的原成功支付事实,
|
||
-- 读取时跨订单与支付单推导无法表达「冻结」语义(支付单后续改挂或缺失会让结果漂移),也不满足对账需要的稳定性。
|
||
-- 线下订单(后台线下套餐订单、员工代收订单)没有线上支付记录,两个字段以空字符串保存,不阻断申请创建。
|
||
-- 2. 线下退款处理流水号、登记时间与登记人为财务补录事实:允许在申请创建后由授权账号补录或更正,
|
||
-- 每次登记写审计(操作者、时间、前后值)。补录不改变退款状态、实收金额、套餐失效与佣金回溯规则,
|
||
-- 因此与既有渠道退款流水号(channel_refund_no,渠道原路退款结果)是两列不同语义,不得互相覆盖。
|
||
-- 3. 申请人备注落在审批尝试表而非退款主表:主表既有 remark 列语义为「审批备注」(审批人填写、随审批结果展示),
|
||
-- 本变更 MUST NOT 复用或改写该列。备注随每次提交或重提写入一条新的尝试记录,历史尝试快照不被改写。
|
||
-- 4. 新列一律可空或带默认值,既有行零变更,读侧对空值按空处理。
|
||
|
||
ALTER TABLE tb_refund_request
|
||
ADD COLUMN IF NOT EXISTS source_payment_no VARCHAR(64) NOT NULL DEFAULT '',
|
||
ADD COLUMN IF NOT EXISTS original_channel_trade_no VARCHAR(100) NOT NULL DEFAULT '',
|
||
ADD COLUMN IF NOT EXISTS offline_settlement_no VARCHAR(128) NOT NULL DEFAULT '',
|
||
ADD COLUMN IF NOT EXISTS offline_settled_at TIMESTAMPTZ,
|
||
ADD COLUMN IF NOT EXISTS offline_settled_by BIGINT NOT NULL DEFAULT 0;
|
||
|
||
COMMENT ON COLUMN tb_refund_request.source_payment_no IS '冻结的来源支付单号:取创建申请时该订单原成功支付记录的支付单号;线下订单无线上支付记录时为空字符串';
|
||
COMMENT ON COLUMN tb_refund_request.original_channel_trade_no IS '冻结的原支付渠道交易流水号:取创建申请时原成功支付记录的渠道交易流水号,列宽与来源列 tb_payment.third_party_trade_no 一致;线下订单无线上支付记录时为空字符串';
|
||
COMMENT ON COLUMN tb_refund_request.offline_settlement_no IS '线下退款处理流水号或凭证编号,由授权账号补录或更正;与渠道原路退款流水号(channel_refund_no)语义不同,不参与资金与状态判定';
|
||
COMMENT ON COLUMN tb_refund_request.offline_settled_at IS '线下退款处理流水号最近一次登记或更正时间,未登记时为空';
|
||
COMMENT ON COLUMN tb_refund_request.offline_settled_by IS '线下退款处理流水号最近一次登记或更正的操作账号ID,0-未登记';
|
||
|
||
-- 退款审批尝试表新增申请人备注:每次提交或重提一条尝试,备注逐次冻结,历史尝试不被改写。
|
||
ALTER TABLE tb_refund_request_attempt
|
||
ADD COLUMN IF NOT EXISTS remark TEXT NOT NULL DEFAULT '';
|
||
|
||
COMMENT ON COLUMN tb_refund_request_attempt.remark IS '本次提交的申请人备注快照,随提交与重提逐次冻结,历史尝试不被改写;与退款主表 remark(审批备注)语义与展示口径不同,不得复用或互相覆盖';
|