From d17705193d41b0e7c49da3ec8f5667668bafe5da Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 16 十月 2025 11:10:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/user_action' into user_action

---
 framework/src/main/resources/mapper/lmk/ActionRecordMapper.xml |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/framework/src/main/resources/mapper/lmk/ActionRecordMapper.xml b/framework/src/main/resources/mapper/lmk/ActionRecordMapper.xml
index 19b542e..78ed5f7 100644
--- a/framework/src/main/resources/mapper/lmk/ActionRecordMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/ActionRecordMapper.xml
@@ -65,4 +65,179 @@
             LAR.delete_flag = 0
     </select>
 
+    <select id="getToDayStayTime" resultType="decimal">
+        SELECT SUM(t.stay_seconds)
+        FROM (SELECT user_id,
+                     page_code,
+                     session_id,
+                     MIN(CASE WHEN page_status = 'JOIN' THEN start_time END)  AS enter_time,
+                     MIN(CASE WHEN page_status = 'LEAVE' THEN start_time END) AS leave_time,
+                     TIMESTAMPDIFF(SECOND, MIN(CASE WHEN page_status = 'JOIN' THEN start_time END),
+                                           MIN(CASE WHEN page_status = 'LEAVE' THEN start_time END)
+                     )                                                        AS stay_seconds
+              FROM lmk_action_record
+              WHERE action_type = 'PAGE'
+                AND page_status IN ('JOIN', 'LEAVE')
+                AND user_id = #{userId}
+                AND create_time BETWEEN #{begin} AND #{end}
+              GROUP BY user_id, page_code, session_id
+              HAVING enter_time IS NOT NULL
+                 AND leave_time IS NOT NULL
+              ORDER BY user_id, session_id, enter_time) t
+    </select>
+    <resultMap id="userStayListMap" type="cn.lili.modules.lmk.domain.vo.StayActionRecordVO">
+        <result property="userId" column="user_id"/>
+        <result property="nickName" column="nick_name"/>
+        <result property="sessionId" column="session_id"/>
+        <result property="pageCode" column="page_code"/>
+        <result property="pageNameCn" column="page_name_cn"/>
+        <result property="enterTime" column="enter_time"/>
+        <result property="leaveTime" column="leave_time"/>
+        <result property="pageParams" column="page_params"/>
+    </resultMap>
+    <select id="userStayList" resultMap="userStayListMap">
+        SELECT
+        t1.user_id,
+        lm.nick_name,
+        t1.session_id,
+        t1.page_params,
+        t1.page_code,
+        CASE t1.page_code
+        WHEN 'RECOMMEND_VIDEO' THEN '棣栭〉鎺ㄨ崘瑙嗛'
+        WHEN 'HEALTH_VIDEO' THEN '澶у仴搴疯棰�'
+        WHEN 'KITCHEN_VIDEO' THEN '绁炲帹瑙嗛'
+        WHEN 'RECOMMEND_VIDEO_GOODS' THEN '瑙嗛鎺ㄨ崘鍟嗗搧椤甸潰'
+        WHEN 'RECOMMEND_VIDEO_LEFT_GOODS' THEN '宸︽粦鎺ㄨ崘鍟嗗搧'
+        WHEN 'RECOMMEND_VIDEO_RIGHT_VIDEO' THEN '鍙虫粦瑙嗛椤甸潰'
+        WHEN 'FILL_ORDER' THEN '濉啓璁㈠崟'
+        WHEN 'PAY_ORDER' THEN '鏀粯璁㈠崟'
+        WHEN 'PAY_SUCCESS' THEN '鏀粯鎴愬姛'
+        WHEN 'ORDER_LIST' THEN '璁㈠崟鍒楄〃'
+        WHEN 'ORDER_DETAIL' THEN '璁㈠崟璇︽儏'
+        WHEN 'PRIZE_DETAIL' THEN '鎶藉娲诲姩'
+        WHEN 'CART_LIST' THEN '璐墿杞�'
+        WHEN 'TBA_BAR_MY' THEN '鎴戠殑椤甸潰'
+        WHEN 'SHOPPING_SQUARE' THEN '鍟嗗搧骞垮満'
+        WHEN 'ACTIVITY_LIST' THEN '娲诲姩鍒楄〃'
+        WHEN 'ACTIVITY_DETAIL' THEN '娲诲姩璇︽儏'
+        WHEN 'PUBLISH_VIDEO' THEN '瑙嗛鍙戝竷'
+        WHEN 'SWIPER_GOODS' THEN '婊戝姩鍟嗗搧'
+        WHEN 'COUPON_CENTER' THEN '棰嗗嵎涓績'
+        WHEN 'MY_COUPON' THEN '鎴戠殑浼樻儬鍗�'
+        WHEN 'AFTER_SALE' THEN '鍞悗鍒楄〃'
+        WHEN 'APPLY_SALE' THEN '鐢宠鍞悗'
+        WHEN 'REFUND_ORDER' THEN '閫�娆�/閫�璐�'
+        WHEN 'GOODS_DETAILS' THEN '鍟嗗搧璇︽儏椤甸潰'
+        ELSE '鏈煡椤甸潰'
+        END AS page_name_cn,
+        t1.start_time AS enter_time,
+        t2.start_time AS leave_time,
+        TIMESTAMPDIFF(SECOND, t1.start_time, t2.start_time) AS stay_seconds
+        FROM
+        lmk_action_record t1
+        JOIN
+        lmk_action_record t2 ON t1.session_id = t2.session_id
+        AND t1.user_id = t2.user_id
+        AND t1.page_code = t2.page_code
+        JOIN li_member lm ON lm.id = t1.user_id
+        WHERE
+        t1.page_status = 'JOIN'
+        AND t2.page_status = 'LEAVE'
+        AND t1.start_time &lt; t2.start_time
+        and t1.start_time between  #{req.beginDate} and #{req.endDate}
+        <if test="req.userName != null and req.userName != ''">
+            and  lm.nick_name like concat('%',#{req.userName},'%')
+        </if>
+        <if test="req.pageCode != null and req.pageCode != ''">
+            and  t1.page_code = #{req.pageCode}
+        </if>
+        ORDER BY
+        t1.user_id,
+        t1.start_time
+    </select>
+    <resultMap id="userShareMap" type="cn.lili.modules.lmk.domain.vo.ShareActionRecordVO">
+        <result property="userId" column="user_id"/>
+        <result property="nickName" column="nick_name"/>
+        <result property="pageCode" column="page_code"/>
+        <result property="pageNameCn" column="page_name_cn"/>
+        <result property="createTime" column="create_time"/>
+        <result property="shareOption" column="share_option"/>
+    </resultMap>
+    <select id="userShare" resultMap="userShareMap">
+        SELECT
+            lm.nick_name,
+            lsa.page_code,
+            lsa.share_option,
+            lsa.user_id,
+            lsa.create_time,
+            CASE
+                lsa.page_code
+                WHEN 'RECOMMEND_VIDEO' THEN
+                    '棣栭〉鎺ㄨ崘瑙嗛'
+                WHEN 'HEALTH_VIDEO' THEN
+                    '澶у仴搴疯棰�'
+                WHEN 'KITCHEN_VIDEO' THEN
+                    '绁炲帹瑙嗛'
+                WHEN 'RECOMMEND_VIDEO_GOODS' THEN
+                    '瑙嗛鎺ㄨ崘鍟嗗搧椤甸潰'
+                WHEN 'RECOMMEND_VIDEO_LEFT_GOODS' THEN
+                    '宸︽粦鎺ㄨ崘鍟嗗搧'
+                WHEN 'RECOMMEND_VIDEO_RIGHT_VIDEO' THEN
+                    '鍙虫粦瑙嗛椤甸潰'
+                WHEN 'FILL_ORDER' THEN
+                    '濉啓璁㈠崟'
+                WHEN 'PAY_ORDER' THEN
+                    '鏀粯璁㈠崟'
+                WHEN 'PAY_SUCCESS' THEN
+                    '鏀粯鎴愬姛'
+                WHEN 'ORDER_LIST' THEN
+                    '璁㈠崟鍒楄〃'
+                WHEN 'ORDER_DETAIL' THEN
+                    '璁㈠崟璇︽儏'
+                WHEN 'PRIZE_DETAIL' THEN
+                    '鎶藉娲诲姩'
+                WHEN 'CART_LIST' THEN
+                    '璐墿杞�'
+                WHEN 'TBA_BAR_MY' THEN
+                    '鎴戠殑椤甸潰'
+                WHEN 'SHOPPING_SQUARE' THEN
+                    '鍟嗗搧骞垮満'
+                WHEN 'ACTIVITY_LIST' THEN
+                    '娲诲姩鍒楄〃'
+                WHEN 'ACTIVITY_DETAIL' THEN
+                    '娲诲姩璇︽儏'
+                WHEN 'PUBLISH_VIDEO' THEN
+                    '瑙嗛鍙戝竷'
+                WHEN 'SWIPER_GOODS' THEN
+                    '婊戝姩鍟嗗搧'
+                WHEN 'COUPON_CENTER' THEN
+                    '棰嗗嵎涓績'
+                WHEN 'MY_COUPON' THEN
+                    '鎴戠殑浼樻儬鍗�'
+                WHEN 'AFTER_SALE' THEN
+                    '鍞悗鍒楄〃'
+                WHEN 'APPLY_SALE' THEN
+                    '鐢宠鍞悗'
+                WHEN 'REFUND_ORDER' THEN
+                    '閫�娆�/閫�璐�'
+                WHEN 'GOODS_DETAILS' THEN
+                    '鍟嗗搧璇︽儏椤甸潰' ELSE '鏈煡椤甸潰'
+                END AS page_name_cn
+        FROM
+            lmk_share_action lsa
+                JOIN li_member lm ON lsa.user_id = lm.id
+        WHERE
+            lsa.delete_flag = 0
+          AND lm.delete_flag = 0
+        and lsa.create_time between  #{req.beginDate} and #{req.endDate}
+        <if test="req.userName != null and req.userName != ''">
+            and  lm.nick_name like concat('%',#{req.userName},'%')
+        </if>
+        <if test="req.pageCode != null and req.pageCode != ''">
+            and  lsa.page_code = #{req.pageCode}
+        </if>
+        ORDER BY
+        lsa.create_time desc
+    </select>
+
 </mapper>

--
Gitblit v1.8.0