package cn.lili.modules.lmk.mapper;
|
|
import cn.lili.modules.lmk.domain.entity.Video;
|
import cn.lili.modules.lmk.domain.query.*;
|
import cn.lili.modules.lmk.domain.vo.CollectTypeNumVO;
|
import cn.lili.modules.lmk.domain.vo.VideoAccountVO;
|
import cn.lili.modules.lmk.domain.vo.VideoVO;
|
import cn.lili.modules.lmk.domain.vo.WxEditVideoVO;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.util.List;
|
|
/**
|
* 视频内容 Mapper 接口
|
*
|
* @author xp
|
* @since 2025-05-16
|
*/
|
@Mapper
|
public interface VideoMapper extends BaseMapper<Video> {
|
|
/**
|
* id查找视频内容
|
* @param id
|
* @return
|
*/
|
VideoVO getById(String id);
|
|
/**
|
* 分页
|
*/
|
IPage getPage(IPage page, @Param("query") VideoQuery query);
|
|
/**
|
* 管理端分页
|
*
|
* @param page
|
* @param query
|
*/
|
IPage managerPage(IPage page, @Param("query") ManagerVideoQuery query);
|
|
/**
|
* 查出5个推荐视频
|
*
|
* @return
|
*/
|
IPage recommendVideo(IPage page, @Param("query") VideoQuery query);
|
|
/**
|
* 批量更新视频收藏数量
|
*
|
* @param numList
|
*/
|
void updateCollectNumBatch(@Param("list") List<CollectTypeNumVO> numList);
|
|
/**
|
* 批量更新视频评论数量
|
*
|
* @param numList
|
*/
|
void updateCommentNumBatch(@Param("list") List<CollectTypeNumVO> numList);
|
|
/**
|
* 视频主页作者信息
|
*
|
* @param authorId
|
* @return
|
*/
|
VideoAccountVO getAuthorInfo(@Param("authorId") String authorId, @Param("currentUserId") String currentUserId);
|
|
/**
|
* 获取作者的所有视频id
|
*
|
* @param authorId
|
* @return
|
*/
|
List<String> getVideoIdsByAuthor(@Param("authorId") String authorId);
|
|
/**
|
* 获取作者所有视频的收藏数之和
|
*
|
* @param videoIds
|
* @return
|
*/
|
Long countAuthorVideoCollectNum(@Param("videoIds") List<String> videoIds);
|
|
/**
|
* 获取视频主页-作者视频的分页
|
*
|
* @param page
|
* @param query
|
*/
|
IPage getAuthorVideoPage(IPage page, @Param("query") AuthorVideoQuery query);
|
|
/**
|
* 获取视频主页作者收藏的视频分页
|
*
|
* @param page
|
* @param query
|
*/
|
IPage getAuthorCollectVideoPage(IPage page, @Param("query") AuthorVideoQuery query);
|
|
/**
|
* 小程序-视频详情
|
*
|
* @param id
|
* @return
|
*/
|
WxEditVideoVO wxDetail(@Param("id") String id);
|
|
/**
|
* 大健康视频分页
|
*
|
* @param page
|
* @param query
|
*/
|
IPage healthPage(IPage page, @Param("query") HealthVideoQuery query);
|
|
IPage kitchenPage(IPage page, @Param("query") KitchenVideoQuery query);
|
}
|