From 79b026c753c25f998776d8a6210fc6afab97e647 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 16 十月 2025 09:14:35 +0800
Subject: [PATCH] 统计

---
 framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java
index d8af27e..06d97b4 100644
--- a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java
+++ b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java
@@ -39,23 +39,29 @@
     void deleteLastFootPrint(String memberId);
 
 
-    @Select("SELECT " +
+    @Select("<script>" +
+            "SELECT " +
             "lfp.ref_id AS GoodsId, " +
-            "lg.goods_name AS GoodsName, "+
+            "lg.goods_name AS GoodsName, " +
             "COUNT(*) AS view_count " +
             "FROM li_foot_print lfp " +
             "LEFT JOIN li_goods lg ON lfp.ref_id = lg.id " +
             "WHERE lfp.delete_flag = 0 " +
             "AND lfp.create_time BETWEEN #{startTime} AND #{endTime} " +
             "AND lfp.view_type = 'goods' " +
-            "AND lg.goods_name is not null " +
-            "GROUP BY lfp.ref_id " +  // 鎸夊晢鍝両D鍒嗙粍
+            "AND lg.goods_name IS NOT NULL " +
+            "<if test='storeId != null and storeId != \"\"'>" +
+            "AND lfp.store_id = #{storeId} " +
+            "</if>" +
+            "GROUP BY lfp.ref_id " +
             "ORDER BY view_count DESC " +
-            "LIMIT #{currentLimit}"
+            "LIMIT #{currentLimit}" +
+            "</script>"
             )
     List<Map<String,Object>> selectViewAndCompletionRateCountByDay(Date startTime,
                                                                    Date endTime,
-                                                                   Integer currentLimit);
+                                                                   Integer currentLimit,
+    String storeId);
 
     /**
      * 鎸夎棰戠淮搴︾粺璁★細姣忎釜瑙嗛鐨勬�绘祻瑙堟暟鍜屽畬鎾巼
@@ -63,8 +69,8 @@
      * @param endTime 缁撴潫鏃堕棿
      * @return 鍖呭惈瑙嗛ID銆佸悕绉般�佹�绘祻瑙堟暟銆佸畬鎾巼鐨勫垪琛�
      */
-    @Select({
-            "SELECT",
+    @Select("<script>" +
+            "SELECT" +
             "  lfp.ref_id AS video_id, " +
             "  lmk.title, " +
             "  COUNT(*) AS total_views, " +
@@ -84,19 +90,24 @@
             "FROM li_foot_print lfp" +
             "  LEFT JOIN lmk_video lmk ON lfp.ref_id = lmk.id " +  // 鎸夊疄闄呭叧鑱斿瓧娈佃皟鏁�
             "WHERE " +
-            "  lfp.delete_flag = 0",
-            "  AND lfp.view_type = 'video' " +// 鍙粺璁¤棰戠被鍨�
+            "  lfp.delete_flag = 0" +
+            "  AND lfp.view_type = 'video' " +
             "  AND lfp.create_time BETWEEN #{startTime} AND #{endTime} " +
             "  AND lmk.video_duration > 0 " +
             "  AND ref_id IS NOT NULL AND lmk.title IS NOT NULL "+
+            "<if test='storeId != null and storeId != \"\"'>" +
+            " AND lfp.store_id = #{storeId} " +
+            "</if>" +
             "GROUP BY lfp.ref_id "+
             "ORDER BY total_views DESC " +
-            "LIMIT #{currentLimit}"
-    })
+            "LIMIT #{currentLimit}"+
+            "</script>"
+    )
     List<Map<String, Object>> selectEachVideoStats(
              Date startTime,
             Date endTime,
-            Integer currentLimit
+            Integer currentLimit,
+             String storeId
     );
 
 }
\ No newline at end of file

--
Gitblit v1.8.0