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.MyCourseSearch;
import com.yonge.cooleshow.biz.dal.vo.CourseRepliedVo;
import com.yonge.cooleshow.biz.dal.vo.CourseScheduleStudentVo;
import com.yonge.cooleshow.biz.dal.vo.MyRepliedVo;
import org.apache.ibatis.annotations.Param;
import com.yonge.cooleshow.biz.dal.entity.CourseScheduleReplied;
import com.yonge.cooleshow.biz.dal.vo.CourseScheduleRepliedVo;
import com.yonge.cooleshow.biz.dal.dto.search.CourseScheduleRepliedSearch;


public interface CourseScheduleRepliedDao extends BaseMapper<CourseScheduleReplied>{
	/**
	 * 查询详情
     * @author liweifan
     * @date 2022-03-30 13:53:51
     * @return: com.yonge.cooleshow.biz.dal.vo.CourseScheduleRepliedVo
	 */
	CourseScheduleRepliedVo detail(@Param("id") Long id);

	/**
	 * 分页查询
     * @author liweifan
     * @date 2022-03-30 13:53:51
     * @return: com.yonge.cooleshow.biz.dal.vo.CourseScheduleRepliedVo
	 */
	List<CourseScheduleRepliedVo> selectPage(@Param("page") IPage page, @Param("param") CourseScheduleRepliedSearch courseScheduleReplied);

	/**
	 * @Description: 修改陪练课评论
	 * @Author: cy
	 * @Date: 2022/4/12
	 */
    void updateReplied(CourseScheduleReplied replied);

    List<Long> selectAll();

    List<Long> selectReplyStudent();

    List<Long> selectAllClass();

	/**
	 * @Description: 查询我的评价
	 * @Author: cy
	 * @Date: 2022/4/13
	 */
	List<MyRepliedVo> myReplied(IPage<MyRepliedVo> page, @Param("param") MyCourseSearch search);

	/**
	 * @Description: 添加评论
	 * @Author: cy
	 * @Date: 2022/4/13
	 */
	void insertReplied(@Param("param") CourseScheduleReplied replied);

	/**
	 * @Description: 查询评价详情
	 * @Author: cy
	 * @Date: 2022/4/19
	 */
    CourseRepliedVo selectReplied(CourseScheduleReplied replied);

    void insertBatch(List<CourseScheduleStudentVo> list);

    void deleteBatch(List<Long> list);
}