yeg
2026-09-14 0d9afc5aadbe4dcb1b934523d7bf90c834fad407
refs
用户 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 21:21 +0800
提交者 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 21:21 +0800
提交0d9afc5aadbe4dcb1b934523d7bf90c834fad407
目录 8c4f5fabe5d6e54b3008d3596d3e4c7bb5afd007 目录 | zip | gz
parent e3efdaaabe7e6425fc8810cb0151239a1944fbe3 查看 | 对比
fix(merchant): 进件重试时把银行卡一起收口,否则同一张卡仍被拦

上一版只把失败的进件标成 rejected,漏了它的银行卡。银行卡校验是独立的一条:

if ("pending".equals(existingStatus) || !linkedActiveOnboardings.isEmpty()) {
throw ... "该银行卡已有审核中的进件或已通过的申请,请勿重复提交";
}

所以进件虽然放行了,商户用同一张卡重新提交仍会被拦——实测就是这个报错。
那张卡停在 pending,本来就是这条失败的进件留下的,两者必须一起收口。

改动:closeRetryableApplication 同时把该进件绑定的银行卡按失败收口
(限定 status in ('pending','approved'),不碰已 rejected 的),再收口进件本身。
方法改为包级可见以便直接断言。

新增 MerchantOnboardingRetryReleaseTests 3 项(微信配置失败、业务开通失败都要连卡放行;
进行中的申请必须原样不动),连同相关测试共 12 项通过。
1个文件已添加
1个文件已修改
115 ■■■■■ 已修改文件
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantSettlementService.java 12 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/merchant/MerchantOnboardingRetryReleaseTests.java 103 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史