From bc2efbdb52190fe2e7be9920bbed6902d4ee28aa Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期五, 21 八月 2026 11:53:37 +0800
Subject: [PATCH] fix: centralize merchant type integration

---
 talent-card-server/src/main/java/com/talentcard/server/service/MerchantSettlementStatisticsService.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/talent-card-server/src/main/java/com/talentcard/server/service/MerchantSettlementStatisticsService.java b/talent-card-server/src/main/java/com/talentcard/server/service/MerchantSettlementStatisticsService.java
index f145f34..59782e9 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/service/MerchantSettlementStatisticsService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/service/MerchantSettlementStatisticsService.java
@@ -15,6 +15,7 @@
 import java.util.Map;
 
 import com.talentcard.server.business.PageResult;
+import com.talentcard.server.business.merchant.MerchantTypeCatalog;
 import com.talentcard.server.common.BusinessException;
 import com.talentcard.server.common.ErrorCode;
 import com.talentcard.server.mapper.MerchantSettlementStatisticsMapper;
@@ -55,7 +56,7 @@
         int safeSize = Math.min(Math.max(size, 1), 100);
         List<Map<String, Object>> records = mapper.selectPeriodSummaries(
                         merchantId,
-                        clean(merchantType),
+                        merchantTypeCode(merchantType),
                         normalizedPeriod,
                         range.startTime(),
                         range.endTime(),
@@ -66,7 +67,7 @@
                 .toList();
         Long total = mapper.countPeriodSummaries(
                 merchantId,
-                clean(merchantType),
+                merchantTypeCode(merchantType),
                 normalizedPeriod,
                 range.startTime(),
                 range.endTime()
@@ -78,7 +79,7 @@
     public Map<String, Object> overview(Long merchantId, String merchantType, String startDate, String endDate) {
         requireMerchantIdWhenSpecified(merchantId);
         DateRange range = range("DAY", startDate, endDate);
-        List<Map<String, Object>> rows = mapper.selectMerchantOverviews(merchantId, clean(merchantType), range.startTime(), range.endTime());
+        List<Map<String, Object>> rows = mapper.selectMerchantOverviews(merchantId, merchantTypeCode(merchantType), range.startTime(), range.endTime());
         Map<String, Object> result = new LinkedHashMap<>();
         result.put("startDate", range.startDate() == null ? "" : range.startDate().toString());
         result.put("endDate", range.endDateInclusive() == null ? "" : range.endDateInclusive().toString());
@@ -92,6 +93,11 @@
         return overview(merchantId, null, currentMonth.atDay(1).toString(), currentMonth.atEndOfMonth().toString());
     }
 
+    private String merchantTypeCode(String value) {
+        String cleaned = clean(value);
+        return cleaned.isBlank() ? "" : MerchantTypeCatalog.canonicalCode(cleaned);
+    }
+
     @Transactional(readOnly = true)
     public Map<String, Object> dashboardCards(Long merchantId) {
         requireMerchantId(merchantId);

--
Gitblit v1.7.1