refs
用户 yeg <1347747024@qq.com>
星期一, 十月 12, 2026 17:15 +0800
提交者 yeg <1347747024@qq.com>
星期一, 十月 12, 2026 17:15 +0800
提交0432a1255300575656746997799e5cb35e88c8c5
目录 8dfb760b3f5396a9970a53ea629e6080e8bcada1 目录 | zip | gz
parent ff4525af5b4178a38ca310719e4c7af9af3e742c 查看 | 对比
fix(settlement): 结算记录按商户号去重,共用收款主体不再把同一条流水印多遍

根因:结算流水属于**商户号**(一个收款主体),而这条查询是**按商家**逐个去问通道再合并结果的。
连锁各门店是各自独立的商家、共用同一个商户号,于是同一个商户号被问了 N 次,同一条流水被印 N 遍
(7 家共用就是 7 行一模一样的流水号/金额/到账卡,看起来像结了 7 笔钱)。更隐蔽的是每家的查询
各自带 pageSize 上限,截断之后还会把别的流水整个挤掉——重复和漏行是同一条错。

改法:
- 先按商户号聚合,一个商户号只问一次通道;失败提示同样按商户号归并,不再一个商户号报 N 条。
- 共用时那一行的商家名把共用它的商家都列出来并注明「(共用收款主体)」——流水确实不属于其中
任何一家,只说第一家会误导,只留一个名字又像把别家漏了;只有一家时照常显示那一家。
- 筛选语义不变(按商家筛的是"看谁名下的收款主体"),因此筛成一家时会只显示那一家。

回归测试先写、先看它红:两家商家共用一个商户号、通道回两条流水,修复前返回 4 行(每条重复一次),
现在返回 2 行且只问通道一次。ADR-0006 补了这条领域事实:共用收款主体后,读通道的地方要按商户号
聚合,不能按商家。
3个文件已修改
87 ■■■■■ 已修改文件
docs/adr/0006-managed-onboarding-is-query-only.md 7 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/admin/MerchantSettlementAdminService.java 48 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/admin/MerchantSettlementAdminServiceTests.java 32 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史