Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
- 新增六对成对迁移 000232–000237:H5 弹窗类型、退款结算标识与申请人备注、优先轮询事实字段与两个新终态、通道阈值命中留痕、手机号最近解绑人、提现资格校验留痕 - 退款:原因必填与申请人备注、来源支付与渠道流水冻结、线下处理流水号补录审计、按订单查询可选退款方式、企微审批材料补齐且新增字段缺失映射即明确失败 - 优先轮询:人工关闭、有效期到期独立周期任务、失败与过期人工重触发、事实字段与异常重试查询、资产解析端点只读投影 - 通道阈值:命中事实同事务留痕与命中记录查询;员工账单:列表筛选与详情投影;商户池:列表投影与统计周期语义;H5:弹窗类型与类别排序 - 手机号:有效关联数量与最近解绑人、短信验证码失败次数限制;导出:佣金明细十五列与报表序号列 - 时间筛选:三处新增筛选纳入统一严格解析契约,员工账单产生时间参数改名 - 同步 12 份主 Spec 需求、两端点与异步任务证据链,门禁 context-health 与 OpenSpec 校验通过
39 lines
3.6 KiB
SQL
39 lines
3.6 KiB
SQL
-- 提现审批尝试补齐「资料资格版本 + 当次校验结果」留痕。
|
||
-- 背景:提现申请必须先校验申请店铺存在有效资料资格;本变更要求把本次依据的有效资料资格版本标识
|
||
-- 与当次校验结果(校验时间、是否通过、未通过稳定原因)冻结进当次审批尝试快照,并在提现详情可查。
|
||
--
|
||
-- 设计选择:
|
||
-- 1. 记录落在审批尝试表而非提现申请表:尝试记录是每次提交或重提一条的不可变快照,
|
||
-- 资格被替换或失效后,历史尝试仍返回提交时冻结的版本与结果,不被新版本改写。
|
||
-- 2. 未通过原因为稳定编码列(qualification_failure_reason),取值域为本变更登记的四种稳定原因
|
||
-- (资格不存在、已失效、已停用、资料未通过审批),由 CHECK 兜住半残取值;
|
||
-- 通过时该列为空字符串。稳定编码用于机器判定与审计,中文文案由应用层按编码映射。
|
||
-- 3. qualification_version_id 记录当次依据的有效资格版本主键;未通过(资格不存在等)时为 0,
|
||
-- 表示本次未依据任何有效版本。该列不建外键,关联由应用层显式校验(ENG-MODEL-001)。
|
||
-- 4. 新列一律带默认值,既有尝试行零变更:historical 尝试的 qualification_passed 为 0 且原因为空,
|
||
-- 读侧据此按「历史尝试无资格校验留痕」处理,MUST NOT 反推或改写历史结果。
|
||
-- 5. 本迁移不新增企业微信模板控件:该留痕只用于本地不可变审批尝试快照与提现详情查询。
|
||
|
||
ALTER TABLE tb_commission_withdrawal_request_attempt
|
||
ADD COLUMN IF NOT EXISTS qualification_version_id BIGINT NOT NULL DEFAULT 0,
|
||
ADD COLUMN IF NOT EXISTS qualification_checked_at TIMESTAMPTZ,
|
||
ADD COLUMN IF NOT EXISTS qualification_passed SMALLINT NOT NULL DEFAULT 0,
|
||
ADD COLUMN IF NOT EXISTS qualification_failure_reason VARCHAR(64) NOT NULL DEFAULT '';
|
||
|
||
-- 启停类标记必须严格 0/1:判定端按 qualification_passed = 1 识别通过,其他取值会被静默视为未通过。
|
||
ALTER TABLE tb_commission_withdrawal_request_attempt
|
||
ADD CONSTRAINT chk_commission_withdrawal_attempt_qualification_passed
|
||
CHECK (qualification_passed IN (0, 1));
|
||
|
||
-- 通过时不得携带未通过原因;未通过时的稳定原因取值域由应用层校验。
|
||
-- qualification_passed = 0 且原因为空是合法的历史状态:早于 000237 的既有尝试行就是该形态,
|
||
-- 读侧据此按「无资格校验留痕」处理,因此 MUST NOT 用 CHECK 把空原因一律判为非法。
|
||
ALTER TABLE tb_commission_withdrawal_request_attempt
|
||
ADD CONSTRAINT chk_commission_withdrawal_attempt_qualification_reason
|
||
CHECK (qualification_passed = 0 OR qualification_failure_reason = '');
|
||
|
||
COMMENT ON COLUMN tb_commission_withdrawal_request_attempt.qualification_version_id IS '本次提现依据的有效提现资料资格版本ID;早于 000237 的历史尝试与资格不存在时为 0';
|
||
COMMENT ON COLUMN tb_commission_withdrawal_request_attempt.qualification_checked_at IS '本次资料资格校验时间;早于 000237 的历史尝试为空';
|
||
COMMENT ON COLUMN tb_commission_withdrawal_request_attempt.qualification_passed IS '本次资料资格校验是否通过 0-未通过 1-通过';
|
||
COMMENT ON COLUMN tb_commission_withdrawal_request_attempt.qualification_failure_reason IS '未通过时的稳定原因编码 qualification_missing-资格不存在 qualification_invalidated-已失效 shop_disabled-已停用 qualification_not_approved-资料未通过审批;通过时为空字符串';
|