From 8bfcdc67288b607e333da334ec84abc58ff6dfc4 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 12 六月 2025 15:11:11 +0800 Subject: [PATCH] 视频表增加字段 --- framework/src/main/resources/mapper/lmk/VideoMapper.xml | 202 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 188 insertions(+), 14 deletions(-) diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml index 6259ce8..c9ae243 100644 --- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml +++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml @@ -13,6 +13,7 @@ <result column="title" property="title" /> <result column="goods_id" property="goodsId" /> <result column="goods_view_num" property="goodsViewNum" /> + <result column="video_duration" property="videoDuration" /> <result column="goods_order_num" property="goodsOrderNum" /> <result column="recommend" property="recommend" /> <result column="status" property="status" /> @@ -22,6 +23,9 @@ <result column="weight" property="weight" /> <result column="audit_pass_time" property="auditPassTime" /> <result column="update_time" property="updateTime" /> + <result column="video_content_type" property="videoContentType" /> + <result column="video_type" property="videoType" /> + <result column="video_imgs" property="videoImgs" /> </resultMap> <!-- 寰俊鎺ㄨ崘瑙嗛 --> @@ -30,12 +34,13 @@ <result column="author_id" property="authorId" /> <result column="authorName" property="authorName" /> <result column="authorAvatar" property="authorAvatar" /> - <result column="cover_url" property="coverUrl" /> + <result column="cover_url" property="coverFileKey" /> <result column="video_file_key" property="videoFileKey" /> <result column="video_fit" property="videoFit" /> <result column="title" property="title" /> <result column="collect_num" property="collectNum" /> <result column="comment_num" property="commentNum" /> + <result column="status" property="status" /> </resultMap> @@ -44,9 +49,9 @@ LV.author_id, LV.cover_url, LV.video_fit, + LV.video_duration, LV.video_file_key, LV.title, - LV.goods_id, LV.goods_view_num, LV.goods_order_num, LV.recommend, @@ -57,6 +62,9 @@ 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 FROM @@ -72,21 +80,24 @@ LV.author_id, LV.cover_url, LV.video_fit, + LV.video_duration, LV.video_file_key, LV.title, - LV.goods_id, LV.goods_view_num, LV.goods_order_num, LV.recommend, LV.status, LV.play_num, + LV.collect_num, LV.comment_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, - (SELECT COUNT(*) FROM lmk_my_collect WHERE ref_id = LV.id AND collect_type = 'video' AND delete_flag = 0) as collect_num + LM.nick_name as authorName FROM lmk_video LV LEFT JOIN li_member LM ON LV.author_id = LM.id @@ -100,21 +111,24 @@ LV.author_id, LV.cover_url, LV.video_fit, + LV.video_duration, LV.video_file_key, LV.title, - LV.goods_id, LV.goods_view_num, LV.goods_order_num, LV.recommend, LV.status, LV.play_num, + LV.collect_num, LV.comment_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, - (SELECT COUNT(*) FROM lmk_my_collect WHERE ref_id = LV.id AND collect_type = 'video' AND delete_flag = 0) as collect_num + LM.nick_name as authorName FROM lmk_video LV LEFT JOIN li_member LM ON LV.author_id = LM.id @@ -127,7 +141,7 @@ ) AS LVT ON LV.id = LVT.video_id </if> WHERE - LV.delete_flag = 0 + LV.delete_flag = 0 AND LV.video_type = #{query.videoType} <if test="query.title != null and query.title != ''">AND LV.title LIKE CONCAT('%', #{query.title}, '%')</if> <if test="query.authorId != null and query.authorId != ''">AND LV.author_id = #{query.authorId}</if> <if test="query.status != null and query.status != ''">AND LV.status = #{query.status}</if> @@ -139,27 +153,30 @@ LV.author_id, LV.cover_url, LV.video_fit, + LV.video_duration, LV.video_file_key, LV.title, - LV.goods_id, LV.goods_view_num, LV.goods_order_num, LV.recommend, LV.status, LV.play_num, LV.comment_num, + LV.collect_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, - (SELECT COUNT(*) FROM lmk_my_collect WHERE ref_id = LV.id AND collect_type = 'video' AND delete_flag = 0) as collect_num + LM.face as authorAvatar FROM lmk_video LV LEFT JOIN li_member LM ON LV.author_id = LM.id WHERE - LV.delete_flag = 0 AND LV.status = '1' + LV.delete_flag = 0 AND LV.status = '1' AND LV.video_type = #{query.videoType} </select> @@ -167,7 +184,7 @@ UPDATE lmk_video SET collect_num = CASE id <foreach collection="list" item="video"> - WHEN #{video.id} THEN #{video.collectNum} + WHEN #{video.id} THEN #{video.countNum} </foreach> ELSE collect_num END @@ -177,4 +194,161 @@ </foreach> </update> + + <update id="updateCommentNumBatch"> + UPDATE lmk_video + SET comment_num = CASE id + <foreach collection="list" item="video"> + 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> + + + <select id="getAuthorInfo" resultType="cn.lili.modules.lmk.domain.vo.VideoAccountVO"> + SELECT + LM.id as userId, + LM.nick_name as nickName, + LM.face as avatar, + LVA.motto, + (SELECT COUNT(*) FROM lmk_my_subscribe WHERE subscribe_user_id = #{authorId} AND delete_flag = 0) as fansNum, + (SELECT COUNT(*) FROM lmk_my_subscribe WHERE user_id = #{authorId} AND delete_flag = 0) as subNum, + (SELECT CASE + WHEN id IS NOT NULL THEN 1 + ELSE 0 + END + FROM lmk_my_subscribe WHERE user_id = #{currentUserId} AND subscribe_user_id = #{authorId} AND delete_flag = 0) as hasSub + FROM + li_member LM + LEFT JOIN lmk_video_account LVA ON LM.id = LVA.user_id + WHERE + LM.id = #{authorId} AND LM.delete_flag = 0 + </select> + + <select id="getVideoIdsByAuthor" parameterType="string" resultType="string"> + SELECT id FROM lmk_video WHERE author_id = #{authorId} AND delete_flag = 0 AND status = '1' + </select> + + <select id="countAuthorVideoCollectNum" resultType="long"> + SELECT COUNT(*) FROM lmk_my_collect WHERE collect_type = 'video' AND delete_flag = 0 AND ref_id IN <foreach + collection="videoIds" open="(" close=")" separator="," item="videoId">#{videoId}</foreach> + </select> + + <select id="getAuthorVideoPage" 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.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_video LV + LEFT JOIN li_member LM ON LV.author_id = LM.id + WHERE + LV.delete_flag = 0 + <if test="!query.authorSelf"> + AND LV.status = '1' + </if> + AND LV.author_id = #{query.authorId} + AND LV.video_type = #{query.videoType} + ORDER BY + LV.collect_num DESC + </select> + + <select id="getAuthorCollectVideoPage" 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.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_my_collect 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.collect_type = 'video' AND LV.video_type = #{query.videoType} + ORDER BY + LMC.create_time DESC + </select> + + + <!-- 寰俊瑙嗛缂栬緫璇︽儏 --> + <resultMap id="WxEditResultMap" type="cn.lili.modules.lmk.domain.vo.WxEditVideoVO"> + <id column="id" property="id"/> + <result column="cover_url" property="coverFileKey" /> + <result column="video_file_key" property="videoFileKey" /> + <result column="video_fit" property="videoFit" /> + <result column="title" property="title" /> + <result column="video_duration" property="videoDuration" /> + <result column="goods_id" property="goodsId" /> + </resultMap> + + <select id="wxDetail" resultMap="WxEditResultMap"> + 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.weight, + LV.audit_pass_time, + LV.update_time, + LV.video_content_type, + LV.video_type, + LV.video_imgs, + LV.id + FROM + lmk_video LV + WHERE + LV.delete_flag = 0 AND LV.id = #{id} + </select> + </mapper> -- Gitblit v1.8.0