refactor(merchant): 核销收敛为一份实现,按是否涉及资金拆两个接口
核销此前有三处各写一遍「置订单已核销」,于是扫码核销那条路漏挂了资金确认:用户核销后
钱会一直冻在通道延迟户,商户永远收不到。现在只有一份实现 OrderVerificationService
(置已核销 + 写核销记录 + 确认延迟入账的资金),订单管理、扫码核销、后台核销都调它。
接口按「是否涉及资金」拆开,而不是按动线拆:
- 订单核销 POST /api/merchant/orders/{orderNo}/verify(新增可选 verificationId,
扫码核销带上它以便消费核销码并标记扫码尝试完成)
- 免费入住券核销 POST /api/merchant/verification/free-stay/confirm(不涉及支付,
只扣券次数,补贴由平台线下结算)
顺带修掉三个真缺陷:
- 订单核销码核销后没有被标记为已消费,同一个码可以反复核销
- 扫码码有效期没有校验,持过期码也能核销
- 到店消费(支付即核销)不留核销记录,冲正/纠纷/统计都缺凭证,现在补记一条
免费入住券的扫码码过期容忍是既有行为,保持不变。