| | |
| | | where a.provider_huifu_id = ? and a.merchant_id <> ? and a.status in ('pending', 'approved') |
| | | order by a.id |
| | | """, huifuId, exceptMerchantId).stream() |
| | | .map(row -> clean(row.get("merchantName")) + (clean(row.get("storeName")).isBlank() ? "" : "(" + clean(row.get("storeName")) + ")")) |
| | | .map(row -> displayName(clean(row.get("merchantName")), clean(row.get("storeName")))) |
| | | .distinct().toList(); |
| | | } |
| | | |
| | | /** |
| | | * 「商家名(门店名)」的展示形式。门店名与商家名一样时不再重复一遍——多数门店名就是商家名, |
| | | * 加上去只是把同一句话印两遍(列表里看起来像「某某商户(某某商户)」)。 |
| | | */ |
| | | private static String displayName(String merchantName, String storeName) { |
| | | return storeName.isBlank() || storeName.equals(merchantName) |
| | | ? merchantName : merchantName + "(" + storeName + ")"; |
| | | } |
| | | |
| | | /** |
| | | * 通道侧两个名称与所选商家名**连一个字符都不重叠**时的警示。 |
| | | * |
| | | * <p>刻意不做「名称是否对得上」的判定:形态不对应(工商全称 vs 品牌简称),规则化匹配必然误判。 |