package com.younike.system.service;

import java.util.List;
import com.younike.system.domain.Video;
import com.younike.system.param.VideoParam;
import com.younike.system.domain.vo.VideoVo;

/**
 * 【请填写功能名称】Service接口
 *
 * @author elev
 * @date 2022-04-13
 */
public interface IVideoService {
    /**
     * 查询【请填写功能名称】
     *
     * @param videoId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    Video selectVideoByVideoId(Long videoId);


    /**
     * 新增【请填写功能名称】
     *
     * @param video 【请填写功能名称】
     * @return 结果
     */
    int insertVideo(Video video);

    /**
     * 修改【请填写功能名称】
     *
     * @param video 【请填写功能名称】
     * @return 结果
     */
    int updateVideo(Video video);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param videoIds 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    int deleteVideoByVideoIds(Long[] videoIds);

    /**
     * 删除【请填写功能名称】信息
     *
     * @param videoId 【请填写功能名称】主键
     * @return 结果
     */
    int deleteVideoByVideoId(Long videoId);

    /**
     * 获取列表数据
     * @param video
     * @return
     */
    List<VideoVo> getVideoList(VideoParam video);

    /**
     * 删除视频
     * @param videoId
     * @return
     */
    int remove(Long videoId);

    /**
     * 获取视频详情
     * @param videoId
     * @return
     */
    VideoVo getInfo(Long videoId);

    /**
     * 会员端：获取首页运营推荐的三条视频
     * @return
     */
    List<VideoVo> getRecommendVideoList(VideoParam video);

    /**
     * 会员端：服务人员视频列表
     * @param video
     * @return
     */
    List<VideoVo> serverVideoList(VideoParam video);

    /**
     * 会员端：店铺视频列表
     * @param video
     * @return
     */
    List<VideoVo> merchantVideoList(VideoParam video);

    /**
     * 查询百科视频列表
     * @param video
     * @return
     */
    List<VideoVo> videoList(VideoParam video);

    /**
     * 服务人员端添加视频
     * @param video
     * @return
     */
    int serverInsertVideo(Video video);

    /**
     * 服务人员更新数据
     * @param video
     * @return
     */
    int serverUpdateVideo(Video video);
}
