package vip.xiaonuo.exam.service;

import com.github.pagehelper.PageInfo;
import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
import vip.xiaonuo.exam.domain.ExamPaper;
import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperEditRequestVM;
import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperPageRequestVM;
import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperFilter;
import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperInfo;
import vip.xiaonuo.exam.viewmodel.student.exam.ExamPaperPageVM;

import java.util.List;

public interface ExamPaperService extends BaseService<ExamPaper> {

    PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM);

    PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM);

    PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM);

    ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, SaBaseLoginUser user);

    ExamPaperEditRequestVM examPaperToVM(Integer id);

    List<PaperInfo> indexPaper(PaperFilter paperFilter);

    Integer selectAllCount();

    List<Integer> selectMothCount();
}
