xiangpei
2025-06-03 2502b12e05029149f0cd5aea6c25bc419520cc4f
framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -197,4 +197,59 @@
        </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.recommend,
            LV.status,
            LV.play_num,
            LV.comment_num,
            LV.collect_num,
            LV.weight,
            LV.audit_pass_time,
            LV.update_time,
            LV.id
        FROM
            lmk_video LV
        WHERE
            LV.delete_flag = 0 AND LV.status = '1' AND LV.author_id = #{query.authorId}
        ORDER BY
            LV.collect_num DESC
    </select>
</mapper>