yeg
2026-09-18 a058f6109834e29435f5ce4aa19a43d67d07c060
refs
用户 yeg <1347747024@qq.com>
星期五, 九月 18, 2026 15:52 +0800
提交者 yeg <1347747024@qq.com>
星期五, 九月 18, 2026 15:52 +0800
提交a058f6109834e29435f5ce4aa19a43d67d07c060
目录 2583bc63e6b9d176a4b82d219f70870b84102d4d 目录 | zip | gz
parent f5ede132185909c530a4a3f84b8a27d3935cba8a 查看 | 对比
fix(onboarding): 结算银行卡卡号面从未落库,历史进件重提时补齐

商家端进件表单里的「结算银行卡卡号面」从来没有落过库。写库那条 INSERT
(MerchantSettlementService:184)的列清单里没有 settlement_card_front_url:商户端提交时是带了
这个值的,后端也拿它做个人主体的必填校验、并作为汇付图片 F13 上传,但值在写库时被静默丢弃,
列恒为 NULL。后台进件详情因此永远显示「-」——不是前端没展示,是后端没存。库里 18 条进件该列
全是 NULL。工单见 .scratch/merchant-individual-onboarding/issues/01-settlement-card-front-not-persisted.md。

INSERT 补上该列(列与占位符 35 → 36)。

另外,只补 INSERT 补不了历史记录:分阶段模型下重复提交走的是 supplyMissingStorePhotos 那条
早返回路径(不新建进件、不动汇付商户号与银行卡),压根不会碰到 INSERT。所以把该方法扩成
supplyMissingOnboardingMaterials,空着的卡号面同样在重提时补上——这是已提交进件唯一的补救
入口,否则这一列永远补不回来。已有值不覆盖,与门店照片的处理保持一致。

回归测试 3 条,均先在旧实现下确认变红、且只红对应那一条,再修回绿:新提交落库、重提补齐、
不覆盖已有值。历史数据仍是 NULL,需要商户在进件页重提一次来补。
3个文件已修改
137 ■■■■■ 已修改文件
.scratch/merchant-individual-onboarding/issues/01-settlement-card-front-not-persisted.md 15 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantSettlementService.java 33 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/merchant/MerchantExistingOnboardingTests.java 89 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史