Pārlūkot izejas kodu

交易市场平台(供应商)

wwh 1 mēnesi atpakaļ
vecāks
revīzija
b1ea4dc800

+ 5 - 5
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/domain/vo/MallCategorySalesVo.java

@@ -6,20 +6,20 @@ import java.util.List;
6 6
 /** 农资品类销售(对接商城 Open API categorySales) */
7 7
 public class MallCategorySalesVo
8 8
 {
9
-    private String statDate;
9
+    private int statYear;
10 10
 
11 11
     private long totalQty;
12 12
 
13 13
     private List<MallCategorySalesItemVo> items = new ArrayList<>();
14 14
 
15
-    public String getStatDate()
15
+    public int getStatYear()
16 16
     {
17
-        return statDate;
17
+        return statYear;
18 18
     }
19 19
 
20
-    public void setStatDate(String statDate)
20
+    public void setStatYear(int statYear)
21 21
     {
22
-        this.statDate = statDate;
22
+        this.statYear = statYear;
23 23
     }
24 24
 
25 25
     public long getTotalQty()

+ 5 - 5
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/domain/vo/MallHotCategoryRankVo.java

@@ -6,18 +6,18 @@ import java.util.List;
6 6
 /** 热销农资 Top5(对接商城 Open API hotCategoryRank) */
7 7
 public class MallHotCategoryRankVo
8 8
 {
9
-    private String statDate;
9
+    private int statYear;
10 10
 
11 11
     private List<MallHotCategoryRankItemVo> items = new ArrayList<>();
12 12
 
13
-    public String getStatDate()
13
+    public int getStatYear()
14 14
     {
15
-        return statDate;
15
+        return statYear;
16 16
     }
17 17
 
18
-    public void setStatDate(String statDate)
18
+    public void setStatYear(int statYear)
19 19
     {
20
-        this.statDate = statDate;
20
+        this.statYear = statYear;
21 21
     }
22 22
 
23 23
     public List<MallHotCategoryRankItemVo> getItems()

+ 3 - 1
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/mallstats/MallStatsOpenApiClient.java

@@ -9,6 +9,8 @@ public interface MallStatsOpenApiClient
9 9
 {
10 10
     /**
11 11
      * 拉取商城统计 overview;未启用、配置缺失或调用失败时返回 {@code null}(不抛异常)。
12
+     *
13
+     * @param statYear 统计年,对应商城 Open API 查询参数 {@code statYear}
12 14
      */
13
-    MallStatsOverviewVo fetchOverview(String statDate, int statYear);
15
+    MallStatsOverviewVo fetchOverview(int statYear);
14 16
 }

+ 9 - 13
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/mallstats/MallStatsOpenApiClientImpl.java

@@ -52,14 +52,13 @@ public class MallStatsOpenApiClientImpl implements MallStatsOpenApiClient
52 52
     }
53 53
 
54 54
     @Override
55
-    public MallStatsOverviewVo fetchOverview(String statDate, int statYear)
55
+    public MallStatsOverviewVo fetchOverview(int statYear)
56 56
     {
57 57
         if (!properties.isEnabled() || StringUtils.isEmpty(properties.getBaseUrl()))
58 58
         {
59 59
             return null;
60 60
         }
61
-        String dateKey = StringUtils.isNotEmpty(statDate) ? statDate.trim() : "today";
62
-        String cacheKey = CACHE_KEY_PREFIX + dateKey + ":" + statYear;
61
+        String cacheKey = CACHE_KEY_PREFIX + statYear;
63 62
         MallStatsOverviewVo cached = redisCache.getCacheObject(cacheKey);
64 63
         if (cached != null)
65 64
         {
@@ -67,7 +66,7 @@ public class MallStatsOpenApiClientImpl implements MallStatsOpenApiClient
67 66
         }
68 67
         try
69 68
         {
70
-            MallStatsOverviewVo overview = requestOverview(statDate, statYear);
69
+            MallStatsOverviewVo overview = requestOverview(statYear);
71 70
             if (overview != null)
72 71
             {
73 72
                 int ttl = Math.max(1, properties.getCacheTtlMinutes());
@@ -77,21 +76,18 @@ public class MallStatsOpenApiClientImpl implements MallStatsOpenApiClient
77 76
         }
78 77
         catch (Exception ex)
79 78
         {
80
-            log.warn("拉取商城统计 overview 失败 statDate={} statYear={}: {}", statDate, statYear, ex.getMessage());
79
+            log.warn("拉取商城统计 overview 失败 statYear={}: {}", statYear, ex.getMessage());
81 80
             return null;
82 81
         }
83 82
     }
84 83
 
85
-    private MallStatsOverviewVo requestOverview(String statDate, int statYear) throws Exception
84
+    private MallStatsOverviewVo requestOverview(int statYear) throws Exception
86 85
     {
87 86
         String base = trimTrailingSlash(properties.getBaseUrl());
88
-        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(base + "/api/open/stats/overview")
89
-                .queryParam("statYear", statYear);
90
-        if (StringUtils.isNotEmpty(statDate))
91
-        {
92
-            builder.queryParam("statDate", statDate.trim());
93
-        }
94
-        URI uri = builder.build(true).toUri();
87
+        URI uri = UriComponentsBuilder.fromHttpUrl(base + "/api/open/stats/overview")
88
+                .queryParam("statYear", statYear)
89
+                .build(true)
90
+                .toUri();
95 91
 
96 92
         HttpHeaders headers = new HttpHeaders();
97 93
         headers.set(MallStatsOpenTokenSupport.TOKEN_HEADER, tokenSupport.createToken(properties));

+ 3 - 4
baqing-admin/src/main/java/com/ruoyi/web/modules/screen/service/impl/TradeSalesScreenServiceImpl.java

@@ -75,14 +75,13 @@ public class TradeSalesScreenServiceImpl implements ITradeSalesScreenService
75 75
         vo.setOriginQuote(buildOriginQuote(statDate, quoteStart, quoteEnd));
76 76
         List<Integer> finishYears = tradeSalesScreenMapper.selectDistinctFinishYears();
77 77
         vo.setAvailableYears(TradeSalesScreenSupport.buildAvailableYears(finishYears));
78
-        mergeMallStats(vo, statDate, year);
78
+        mergeMallStats(vo, year);
79 79
         return vo;
80 80
     }
81 81
 
82
-    private void mergeMallStats(TradeSalesDashboardVo vo, LocalDate statDate, int year)
82
+    private void mergeMallStats(TradeSalesDashboardVo vo, int year)
83 83
     {
84
-        String statDateStr = HomeScreenSupport.formatStatDate(statDate);
85
-        MallStatsOverviewVo mall = mallStatsOpenApiClient.fetchOverview(statDateStr, year);
84
+        MallStatsOverviewVo mall = mallStatsOpenApiClient.fetchOverview(year);
86 85
         if (mall != null)
87 86
         {
88 87
             TradeSalesScreenSupport.applyMallStats(vo, mall);

+ 2 - 2
baqing-admin/src/test/java/com/ruoyi/web/modules/screen/service/impl/TradeSalesScreenServiceImplTest.java

@@ -70,7 +70,7 @@ class TradeSalesScreenServiceImplTest
70 70
         when(bizGradeWeightConfigMapper.selectAllOrderBySort()).thenReturn(Collections.emptyList());
71 71
         when(tradeSalesScreenMapper.selectTradeMarketIdByName("巴青牦牛交易市场")).thenReturn(null);
72 72
         when(tradeSalesScreenMapper.selectDistinctFinishYears()).thenReturn(Arrays.asList(2025, 2026));
73
-        when(mallStatsOpenApiClient.fetchOverview(org.mockito.ArgumentMatchers.anyString(), org.mockito.ArgumentMatchers.anyInt()))
73
+        when(mallStatsOpenApiClient.fetchOverview(org.mockito.ArgumentMatchers.anyInt()))
74 74
                 .thenReturn(null);
75 75
     }
76 76
 
@@ -113,7 +113,7 @@ class TradeSalesScreenServiceImplTest
113 113
         feb.setOrderCount(5L);
114 114
         trend.setItems(Arrays.asList(jan, feb));
115 115
         mall.setMallOrderTrend(trend);
116
-        when(mallStatsOpenApiClient.fetchOverview(org.mockito.ArgumentMatchers.anyString(), org.mockito.ArgumentMatchers.eq(2026)))
116
+        when(mallStatsOpenApiClient.fetchOverview(org.mockito.ArgumentMatchers.eq(2026)))
117 117
                 .thenReturn(mall);
118 118
 
119 119
         TradeSalesDashboardVo vo = service.loadDashboard("2026");