feat(payment): 补齐查询对等物、收口定时开关并接线后台按钮
凡状态推进都必须有一条不依赖回调的路径(ADR 0004),而系统里还剩四处只有回调能推进;
另有几处配置会静默失效、两个后台接口没有前端入口。
查询对等物:
- 进件通过后**新增**的结算卡:confirmOriginalCard 推广为「该门店所有待处理的卡」,挂在已有的人工
刷新路径与银行卡列表读路径上(只在确实有待处理卡时才查通道),不新增定时任务。
- 资金回退(reverting)与同一天的「确认中」:补偿任务原先只扫待确认/确认中,回退中的记录永远没人再看,
撤销核销会被永久卡住。现在 reverting 进入扫描范围(重发幂等的回退请求就是它的查询对等物),
当天认领的确认中改用一直零调用的 delaytrans.confirmquery 收敛,不必等次日。
- 补偿任务取行改为「每单只看最新一笔成功支付」,避免旧 pending 与新 confirmed 混在一起。
配置收口:
- 补上 app.payment.huifu.merchant-business-notify-url(绑卡回调地址原先靠 notify-url 推导,
配置里根本没有这个键);新增 HuifuCallbackUrlAudit 在启动时逐个念一遍五个回调地址,
地址为空时明确记录「回调未启用」。
- 对账间隔写进 yml;对账开关的注解默认值与配置一致(都是开),删掉配置行不再让后台兜底静默消失;
交易确认补偿的 app.payment.fund-confirmation-retry.enabled 真正实现(原先注释宣称有、代码从未读取)。
后台与开发环境:
- 退款列表接上「刷新退款」(POST /api/orders/refunds/{refundNo}/query)、进件详情接上「查询通道状态」,
原先两个接口都是零调用;角色权限矩阵补上对应动作。
- 订单列表新增「立即对账」入口,调用的就是定时任务那套真实对账逻辑(不是伪造资金事实的捷径);
本机开发可用 HUIFU_RECONCILIATION_FIXED_DELAY_MS 调短间隔。
顺带修掉一处环境相关失败:PaymentFundConfirmationTests 的补偿用例先把自己之外的相关行移出扫描窗口,
从「随测试库累积而必然失败」变成稳定通过;docs/agents/testing.md 对应章节已改写,
并记录了新的开发库 DDL 执行器 scripts/apply-sql-file.ps1。