package com.fs.course.service;

import com.fs.common.core.domain.R;
import com.fs.course.domain.FsUserVideoFavorite;

import java.util.List;

/**
 * 课堂视频收藏Service接口
 *
 * @author fs
 * @date 2024-05-15
 */
public interface IFsUserVideoFavoriteService
{
    /**
     * 查询课堂视频收藏
     *
     * @param favoriteId 课堂视频收藏主键
     * @return 课堂视频收藏
     */
    public FsUserVideoFavorite selectFsUserVideoFavoriteByFavoriteId(Long favoriteId);

    /**
     * 查询课堂视频收藏列表
     *
     * @param fsUserVideoFavorite 课堂视频收藏
     * @return 课堂视频收藏集合
     */
    public List<FsUserVideoFavorite> selectFsUserVideoFavoriteList(FsUserVideoFavorite fsUserVideoFavorite);

    /**
     * 新增课堂视频收藏
     *
     * @param fsUserVideoFavorite 课堂视频收藏
     * @return 结果
     */
    public int insertFsUserVideoFavorite(FsUserVideoFavorite fsUserVideoFavorite);

    /**
     * 修改课堂视频收藏
     *
     * @param fsUserVideoFavorite 课堂视频收藏
     * @return 结果
     */
    public int updateFsUserVideoFavorite(FsUserVideoFavorite fsUserVideoFavorite);

    /**
     * 批量删除课堂视频收藏
     *
     * @param favoriteIds 需要删除的课堂视频收藏主键集合
     * @return 结果
     */
    public int deleteFsUserVideoFavoriteByFavoriteIds(Long[] favoriteIds);

    /**
     * 删除课堂视频收藏信息
     *
     * @param favoriteId 课堂视频收藏主键
     * @return 结果
     */
    public int deleteFsUserVideoFavoriteByFavoriteId(Long favoriteId);


    R checkFavorite(Long videoId, long userId);

    void deleteFavorite(Long videoId, long userId);

    void favoriteVideo(Long videoId, long userId);

}
