From 2a7b0a64b14b22ec45f8a0f6e4764bc3cd16919c Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 27 十月 2025 17:08:24 +0800
Subject: [PATCH] 调整

---
 framework/src/main/resources/mapper/lmk/orderMapper.xml |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/framework/src/main/resources/mapper/lmk/orderMapper.xml b/framework/src/main/resources/mapper/lmk/orderMapper.xml
index 690d8fe..45ecbb7 100644
--- a/framework/src/main/resources/mapper/lmk/orderMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/orderMapper.xml
@@ -9,6 +9,7 @@
     <resultMap id="orderTimePeriod" type="java.util.Map">
         <result column="day" property="day" />
         <result column="hour" property="hour"/>
+        <result column="count" property="count"/>
     </resultMap>
 
     <resultMap id="productRepurchase" type="java.util.Map">
@@ -21,7 +22,11 @@
         <result column="hour" property="hour"/>
         <result column="count" property="count"/>
     </resultMap>
-
+    <resultMap id="pvUvCount" type="java.util.Map">
+        <result column="day" property="day"/>
+        <result column="pvData" property="pvData"/>
+        <result column="uvData" property="uvData"/>
+    </resultMap>
     <select id="selectOrderCountByDay"  resultMap="OrderCountByDayMap">
         SELECT
             DATE(create_time) AS day,
@@ -30,6 +35,9 @@
             li_order o
             WHERE
             o.create_time BETWEEN #{startTime} AND #{endTime}
+            <if test="storeId != null and storeId != ''">
+                AND o.store_id = #{storeId}
+            </if>
             GROUP BY
             day
             ORDER BY
@@ -45,19 +53,30 @@
             li_order o
             WHERE
             o.create_time BETWEEN #{startTime} AND #{endTime}
+            <if test="storeId != null and storeId != ''">
+                AND o.store_id = #{storeId}
+            </if>
             GROUP BY
             day
             ORDER BY
             day , hour ASC
     </select>
-    <select id="selectViewDataCount" resultMap="">
+    <select id="selectViewDataCount" resultMap="viewDataCount">
         SELECT
             DATE(LAR.create_time) AS day,
             HOUR(LAR.create_time) AS hour,
             COUNT(LAR.id) AS count
         FROM lmk_action_record LAR
         where LAR.delete_flag = 0
-          AND LAR.page_status = 'JOIN'
+            AND LAR.page_status = 'JOIN'
+            AND LAR.create_time BETWEEN #{startTime} AND #{endTime}
+            <if test="storeId != null and storeId !=''">
+                AND page_code = 'GOODS_DETAILS'
+                AND JSON_EXTRACT(LAR.page_params, '$.goodsId') IN
+                <foreach collection="goodsIds" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
         GROUP BY day, hour
         ORDER BY day, hour;
     </select>
@@ -94,6 +113,9 @@
                             AND o.member_id IS NOT NULL
                             AND o.create_time >= #{startTime}
                             AND o.create_time &lt;= #{endTime}
+                            <if test="storeId != null and storeId != ''">
+                                AND o.store_id = #{storeId}
+                            </if>
                           GROUP BY i.goods_id, i.goods_name, o.member_id
                       ) AS user_buy_counts
                  GROUP BY goods_id, goods_name
@@ -102,4 +124,27 @@
         LIMIT #{currentLimit};
     </select>
 
+    <select id="selectPvUv" resultMap="pvUvCount">
+        SELECT
+            DATE(LAR.create_time) AS day,
+            COUNT(*) AS pvData,
+            COUNT(DISTINCT LAR.user_id) AS uvData
+        FROM
+            lmk_action_record LAR
+        WHERE
+            LAR.delete_flag = 0
+            AND LAR.page_status = 'JOIN'
+            AND LAR.create_time BETWEEN #{startTime} AND #{endTime}
+        <if test="storeId != null and storeId !=''">
+            AND page_code = 'GOODS_DETAILS'
+            AND JSON_EXTRACT(LAR.page_params, '$.goodsId') IN
+            <foreach collection="goodsIds" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        GROUP BY
+            DATE(LAR.create_time);
+    </select>
+
+
 </mapper>

--
Gitblit v1.8.0