package com.mindskip.xzs.service; import com.mindskip.xzs.domain.ExamPaper; import com.mindskip.xzs.domain.ExamPaperClasses; import com.mindskip.xzs.domain.User; import com.mindskip.xzs.domain.exam.ExamClassShortInfo; import com.mindskip.xzs.domain.other.KeyValue; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter; import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo; import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM; import com.github.pagehelper.PageInfo; import java.util.List; /** * @version 2.2.0 * @description: 试卷 * Copyright (C), 2020-2021, 武汉思维跳跃科技有限公司 * @date 2021 /9/7 9:45 */ public interface ExamPaperService extends BaseService { /** * 试卷分页 * * @param requestVM the request vm * @return the page info */ PageInfo page(ExamPaperPageRequestVM requestVM); /** * 管理端试卷分页 * * @param requestVM the request vm * @return the page info */ PageInfo adminPage(ExamPaperPageRequestVM requestVM); /** * 任务试卷分页 * * @param requestVM the request vm * @return the page info */ PageInfo taskExamPage(ExamPaperPageRequestVM requestVM); /** * 学生端试卷分页 * * @param requestVM the request vm * @return the page info */ PageInfo studentPage(ExamPaperPageVM requestVM); /** * 班级试卷分页 * * @param requestVM the request vm * @return the page info */ PageInfo studentClassesPage(ExamPaperPageVM requestVM); /** * 试卷编辑 * * @param examPaperEditRequestVM the exam paper edit request vm * @param user the user * @return the exam paper */ ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, User user); /** * 试卷查询 * * @param id the id * @return the exam paper edit request vm */ ExamPaperEditRequestVM examPaperToVM(Integer id); /** * 首页试卷 * * @param paperFilter the paper filter * @return the list */ List indexPaper(PaperFilter paperFilter); /** * 班级试卷 * * @param cIds the c ids * @return the list */ List classesPaper(List cIds); /** * 查询所有试卷数量 * * @return the integer */ Integer selectAllCount(); /** * 查询月时间数量 * * @return the list */ List selectMothCount(); /** * 根据试卷id获取班级试卷 * * @param paperId the paper id * @return the exam paper classes by paper id */ List getExamPaperClassesByPaperId(Integer paperId); /** * 获取班级试卷数量 * * @param classIds the class ids * @return the paper class count */ List getPaperClassCount(List classIds); /** * 智能训练试卷数量 * * @param userId the user id * @return the random paper count */ Integer getRandomPaperCount(Integer userId); }