From 2f65a830dcbea60c4e1854cd08a59410c68db724 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 02 七月 2025 16:16:04 +0800 Subject: [PATCH] 视频搜索接口,视频es索引加发布时间字段,重构视频es索引的sql完善 --- framework/src/main/resources/mapper/lmk/VideoMapper.xml | 84 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81 insertions(+), 3 deletions(-) diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml index b220b13..e9b22bf 100644 --- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml +++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml @@ -17,6 +17,7 @@ <result column="play_num" property="playNum" /> <result column="collect_num" property="collectNum" /> <result column="comment_num" property="commentNum" /> + <result column="thumbs_up_num" property="thumbsUpNum" /> <result column="weight" property="weight" /> <result column="audit_pass_time" property="auditPassTime" /> <result column="update_time" property="updateTime" /> @@ -70,6 +71,7 @@ <result column="play_num" property="playNum" /> <result column="collect_num" property="collectNum" /> <result column="comment_num" property="commentNum" /> + <result column="thumbs_up_num" property="thumbsUpNum" /> <result column="weight" property="weight" /> <result column="audit_pass_time" property="auditPassTime" /> <result column="update_time" property="updateTime" /> @@ -91,6 +93,7 @@ <result column="title" property="title" /> <result column="collect_num" property="collectNum" /> <result column="comment_num" property="commentNum" /> + <result column="thumbs_up_num" property="thumbsUpNum" /> <result column="status" property="status" /> <result column="video_content_type" property="videoContentType" /> <result column="video_type" property="videoType" /> @@ -114,6 +117,7 @@ LV.play_num, LV.collect_num, LV.comment_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -145,6 +149,7 @@ LV.play_num, LV.collect_num, LV.comment_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -176,6 +181,7 @@ LV.play_num, LV.collect_num, LV.comment_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -218,6 +224,7 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -251,6 +258,7 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -283,6 +291,7 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -326,6 +335,20 @@ WHEN #{video.id} THEN #{video.countNum} </foreach> ELSE comment_num + END + WHERE id IN + <foreach collection="list" item="video" open="(" separator="," close=")"> + #{video.id} + </foreach> + </update> + + <update id="updateThumbsUpNumBatch"> + UPDATE lmk_video + SET thumbs_up_num = CASE id + <foreach collection="list" item="video"> + WHEN #{video.id} THEN #{video.countNum} + </foreach> + ELSE thumbs_up_num END WHERE id IN <foreach collection="list" item="video" open="(" separator="," close=")"> @@ -378,6 +401,7 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -416,6 +440,7 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -431,6 +456,41 @@ LEFT JOIN li_member LM ON LV.author_id = LM.id WHERE LMC.delete_flag = 0 AND LMC.user_id = #{query.authorId} AND LMC.collect_type = 'video' AND LV.video_type = #{query.videoType} + ORDER BY + LMC.create_time DESC + </select> + + <select id="getAuthorLikeVideoPage" resultMap="WxResultMap"> + SELECT + LV.author_id, + LV.cover_url, + LV.video_fit, + LV.video_duration, + LV.video_file_key, + LV.title, + LV.goods_view_num, + LV.goods_order_num, + LV.recommend, + LV.status, + LV.play_num, + LV.comment_num, + LV.collect_num, + LV.thumbs_up_num, + LV.weight, + LV.audit_pass_time, + LV.update_time, + LV.video_content_type, + LV.video_type, + LV.video_imgs, + LV.id, + LM.nick_name as authorName, + LM.face as authorAvatar + FROM + lmk_thumbs_up_record LMC + INNER JOIN lmk_video LV ON LMC.ref_id = LV.id AND LV.delete_flag = 0 AND LV.status = '1' + LEFT JOIN li_member LM ON LV.author_id = LM.id + WHERE + LMC.delete_flag = 0 AND LMC.user_id = #{query.authorId} AND LMC.thumbs_up_type = 'video' AND LV.video_type = #{query.videoType} ORDER BY LMC.create_time DESC </select> @@ -479,6 +539,7 @@ LV.play_num, LV.collect_num, LV.comment_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -520,6 +581,7 @@ LV.play_num, LV.collect_num, LV.comment_num, + LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, @@ -558,9 +620,13 @@ <result column="title" property="title" /> <result column="status" property="status" /> <result column="recommend" property="recommend" /> + <result column="audit_pass_time" property="publishTime" /> <result column="video_content_type" property="videoContentType" /> <result column="video_type" property="videoType" /> <result column="video_imgs" property="videoImgs" /> + <result column="collect_num" property="collectNum" /> + <result column="thumbs_up_num" property="thumbsUpNum" /> + <result column="comment_num" property="commentNum" /> <collection property="goodsList" column="id" select="getVideoGoods" ofType="cn.lili.modules.lmk.domain.vo.VideoGoodsDetailVO"/> <collection property="tagList" column="id" select="getVideoTags" ofType="cn.lili.modules.lmk.domain.vo.SimpleVideoTagVO"/> </resultMap> @@ -591,16 +657,28 @@ LV.play_num, LV.comment_num, LV.collect_num, + LV.thumbs_up_num, LV.weight, - LV.audit_pass_time, + CASE + WHEN LV.audit_pass_time IS NOT NULL THEN LV.audit_pass_time + ELSE LV.create_time + END as audit_pass_time, LV.update_time, LV.create_time, LV.video_content_type, LV.video_type, LV.video_imgs, LV.id, - LM.nick_name as authorName, - LM.face as authorAvatar + CASE + WHEN LM.nick_name IS NOT NULL THEN LM.nick_name + WHEN LM.nick_name IS NULL THEN (SELECT nick_name FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorName, + CASE + WHEN LM.face IS NOT NULL THEN LM.face + WHEN LM.face IS NULL THEN (SELECT avatar FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorAvatar FROM lmk_video LV LEFT JOIN li_member LM ON LV.author_id = LM.id -- Gitblit v1.8.0