package cn.iocoder.yudao.module.train.service;

import cn.iocoder.yudao.module.train.entity.ReservationCourse;
import cn.iocoder.yudao.module.train.vo.ReservationCourseVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * 预约练车 Service  接口
 *
 * @author lzt
 */
public interface ReservationCourseService extends IService<ReservationCourse> {

    /**
     * 分页查询
     *
     * @param pageReqVO TODO
     * @param page      TODO
     * @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.train.vo.ReservationCourseVO>
     * @author vinjor-M
     * @date 15:05 2025/1/14
     **/
    IPage<ReservationCourseVO> queryListPage(ReservationCourseVO pageReqVO, Page<ReservationCourseVO> page);

    /**
     * 根据学生userId查询学生信息及当天的预约记录
     *
     * @param userId
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author vinjor-M
     * @date 17:27 2025/1/16
     **/
    Map<String, Object> getUserInfoAndReservation(Long userId, String courseId, Integer subject, String type);

}
