package cn.reghao.tnb.content.app.vod.service;

import cn.reghao.file.api.dto.VideoMeta;
import cn.reghao.jutil.jdk.web.db.PageList;
import cn.reghao.tnb.content.api.dto.*;
import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;

import java.util.*;

/**
 * @author reghao
 * @date 2022-08-05 13:49:28
 */
public interface VideoPostQuery {
    List<VideoCard> getVideoCards(List<String> videoIds);
    PageList<VideoCard> getCategoryVideos(int categoryId, int pageNumber);
    VideoDetail getShortVideo();
    PageList<VideoCard> getUserVideos(long userId, int page);
    VideoCard getVideoCard(VideoPostCard videoPostCard, boolean user);
    String getVideoPostData(String videoId);
    UserVideoPost getUserVideoPost(VideoPost videoPost);
    PageList<VideoCard> getTagVideos(String tag, int pn);
    List<BannerVideoVO> getBannerVideos();
    List<String> getRandomVideoIds(List<Integer> userScopes, int size);
    /**
     * 获取用户发布的视频稿件
     *
     * @param
     * @return
     * @date 2023-11-27 11:01:22
     */
    PageList<UserVideoPost> getUserVideoPost(int pageNumber);
    List<VideoMeta> getVideoResource(String videoId);
    UserVideoPost getUserVideoDetail(String videoId);
}
