xiangpei
2025-07-04 c40de9bb90004789c90d1c35ccb86fed16844d7b
framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -101,6 +101,29 @@
        <collection property="goodsList" column="id" select="getVideoGoods" ofType="cn.lili.modules.lmk.domain.vo.VideoGoodsDetailVO"/>
    </resultMap>
    <!-- 播放历史 -->
    <resultMap id="HistoryMap" type="cn.lili.modules.lmk.domain.vo.VideoHistoryVO">
        <id column="id" property="id"/>
        <result column="author_id" property="authorId" />
        <result column="authorName" property="authorName" />
        <result column="authorAvatar" property="authorAvatar" />
        <result column="cover_url" property="coverFileKey" />
        <result column="video_file_key" property="videoFileKey" />
        <result column="video_fit" property="videoFit" />
        <result column="video_duration" property="videoDuration" />
        <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" />
        <result column="video_imgs" property="videoImgs" />
        <result column="historyId" property="historyId" />
        <result column="play_at" property="playAt" />
        <result column="playTime" property="playTime" />
        <collection property="goodsList" column="id" select="getVideoGoods" ofType="cn.lili.modules.lmk.domain.vo.VideoGoodsDetailVO"/>
    </resultMap>
    <select id="getById" resultMap="BaseResultMap">
        SELECT
@@ -288,6 +311,53 @@
            LV.create_time DESC
    </select>
    <select id="getHistoryPage" resultMap="HistoryMap">
        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.create_time,
            LV.video_content_type,
            LV.video_type,
            LV.video_imgs,
            LV.id,
            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,
            LFP.id as historyId,
            LFP.play_at,
            LFP.update_time as playTime
        FROM
            lmk_video LV
                INNER JOIN li_foot_print LFP ON LFP.ref_id = LV.id AND LFP.view_type = 'video' AND LFP.delete_flag = 0 AND LFP.member_id = #{query.userId}
                LEFT JOIN li_member LM ON LV.author_id = LM.id
        WHERE
            LV.delete_flag = 0 AND LV.status = '1'
        ORDER BY
            LFP.update_time DESC
    </select>
    <select id="recommendHealthVideo" resultMap="WxResultMap">
        SELECT
            LV.author_id,