yeg
2026-09-14 39a51637f5857c79fded78e7f63ef6162592f1e0
refs
用户 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 18:27 +0800
提交者 yeg <1347747024@qq.com>
星期一, 九月 14, 2026 18:27 +0800
提交39a51637f5857c79fded78e7f63ef6162592f1e0
目录 e707c33f37a10a19a77c49ceed53a48dcac5844b 目录 | zip | gz
parent ad495196188cd3d80654edaa21b04c11a9f75865 查看 | 对比
fix(merchant): 进件后续配置不再被银行卡序列号挡住

applyOnboardingResult 原来把「拿到银行卡序列号 token_no」当成推进后续配置的前置条件:

boolean completed = !blank(huifuId) && !blank(tokenNo);
if (completed) continuePostOnboardingProvisioning(applicationNo);

但 token_no 是结算银行卡的绑卡结果,跟「微信小程序支付配置」「商户业务开通」没有依赖关系。
企业进件的同步响应常常只回 huifu_id 和 apply_no(本次身份 6666000226048687 进件
6666000241335656 时 token_no 就是空的),于是后续两步一次都不会被触发,
商户会一直停在 wechat_config_status/business_open_status = not_started。

改成只要通道给了 huifu_id(即进件已被受理)就推进后续配置;银行卡状态仍按 token_no
是否存在单独判断,不受影响。

同时把 continuePostOnboardingProvisioning 改成 public:审核结果回调、业务开通回调之外的
第三个入口要复用它——主动轮询(本地开发没有公网 IP,汇付的异步通知推不进来)。
方法自身依旧不开事务,注释里写明了原因(能力快照 REQUIRES_NEW 与回调路径的行锁冲突)。

回归:MerchantSettlementCallbackIdempotencyTests、PaymentSettlementTests、
HuifuSettlementRecordGatewayTests 共 27 项通过。
1个文件已修改
20 ■■■■■ 已修改文件
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantSettlementService.java 20 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史