package com.yonge.cooleshow.biz.dal.dao;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleSearch;
import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleVideoSearch;
import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
import com.yonge.cooleshow.biz.dal.vo.StudentVo;
import com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo;
import org.apache.ibatis.annotations.Param;

public interface TeacherStyleVideoDao extends BaseMapper<TeacherStyleVideo> {

    /**
     * 查询详情
     * @author liweifan
     * @date 2022-05-17 11:40:18
     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo
     */
    TeacherStyleVideoVo detail(@Param("id") Long id);

    /**
     * 分页查询
     * @author liweifan
     * @date 2022-05-17 11:40:18
     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo
     */
    List<TeacherStyleVideoVo> selectPage(@Param("page") IPage page, @Param("param") TeacherStyleVideoSearch teacherStyleVideo);

    /***
     * 查询老师风采视频
     * @author liweifan
     * @param: userId
     * @updateTime 2022/4/8 15:09
     * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo>
     */
    List<TeacherStyleVideo> selectListByUserId(@Param("userId") Long userId);

    /***
     * 删除老师风采视频，留下oldIds
     * @author liweifan
     * @param: userId
     * @param: oldIds
     * @updateTime 2022/4/8 15:09
     * @return: java.lang.Integer
     */
    Integer removeByUserIdAndOldIds(@Param("userId") Long userId, @Param("oldIds") List<Long> oldIds);

    /***
     * 老师风采查询分页
     * @author liweifan
     * @param: page
     * @param: query
     * @updateTime 2022/4/11 15:24
     * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo>
     */
    List<TeacherStyleVideoVo> stylePage(@Param("page") IPage page, @Param("param") TeacherStyleSearch query);

    /***
     * 增加视频浏览量
     * @author liweifan
     * @param: videoId
     * @updateTime 2022/4/24 17:40
     * @return: java.lang.Integer
     */
    Integer addVideoBrowse(@Param("videoId") Long videoId);
}