package com.qmth.exam.reserve.service;

import com.qmth.exam.reserve.bean.RichTextBean;
import com.qmth.exam.reserve.bean.apply.ApplyTimePeriodResult;
import com.qmth.exam.reserve.bean.apply.ApplyVO;
import com.qmth.exam.reserve.bean.apply.TicketInfo;
import com.qmth.exam.reserve.bean.login.LoginUser;

import java.util.List;

public interface ExamReserveService {

    void saveStudentApply(LoginUser student, Long examSiteId, Long timePeriodId);

    void cancelStudentApply(LoginUser student, Long examSiteId, Long timePeriodId);

    List<ApplyVO> getStudentApplyList(LoginUser student, Boolean cancel);

    List<ApplyVO> getStudentApplyListFromCache(LoginUser student, Boolean cancel);

    List<ApplyVO> getStudentApplyListForCurrent(LoginUser student);

    TicketInfo getApplyTicket(Long studentId, Long examSiteId, Long timePeriodId);

    List<String> getApplyDateList(LoginUser student);

    ApplyTimePeriodResult getApplyTimePeriodList(LoginUser student, Long examSiteId, String date);

    RichTextBean getExamNotice(Long applyTaskId);

    RichTextBean getExamSiteGuide(Long examSiteId);

}
