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 < 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