/*********************************************************** * @Description : 考试接口 * @author : 梁山广(Laing Shan Guang) * @date : 2019-05-28 08:05 * @email : liangshanguang2@gmail.com ***********************************************************/ package lsgwr.exam.service;// 定义了接口所属的包名 import lsgwr.exam.entity.Exam;// 导入了实体类Exam,可能包含考试的基本信息 import lsgwr.exam.entity.ExamRecord;// 导入了实体类ExamRecord,可能包含考试记录的详细信息 import lsgwr.exam.vo.*;// 导入了VO对象,VO是值对象,用于在不同层之间传递数据 import java.util.HashMap;// 导入了HashMap,用于存储键值对 import java.util.List;// 导入了List,用于存储一系列对象 // 定义了一个名为ExamService的接口 public interface ExamService { /** * 获取所有的问题列表 */ List getQuestionAll(); /** * 根据前端传过来的问题实体更新问题和选项 * * @param questionVo 问题实体 */ QuestionVo updateQuestion(QuestionVo questionVo); /** * 问题创建 * * @param questionCreateVo 问题创建实体类 */ void questionCreate(QuestionCreateVo questionCreateVo); /** * 获取问题的选项、分类和难度的下拉列表 * * @return 选项、分类和难度的封装对象 */ QuestionSelectionVo getSelections(); /** * 获取问题详情 * * @param id 问题的id * @return 问题详情的封装VO */ QuestionDetailVo getQuestionDetail(String id); /** * 获取全部考试的列表 */ List getExamAll(); /** * 获取所有问题的下拉列表,方便前端创建考试时筛选 * * @return 适配前端的问题下拉列表 */ ExamQuestionTypeVo getExamQuestionType(); /** * 根据前端组装的参数进行考试创建 * * @param examCreateVo 前端组装的考试对象 * @param userId 用户id * @return 创建好的考试 */ Exam create(ExamCreateVo examCreateVo, String userId); /** * 获取考试卡片列表 * * @return 考试卡片列表 */ List getExamCardList(); /** * 根据考试的id获取考试的详情 * * @param id exam表的主键 * @return 考试详情的封装的VO对象 */ ExamDetailVo getExamDetail(String id); /** * 根据用户提交的作答信息进行判分 * * @param userId 考试人 * @param examId 参与的考试 * @param answersMap 作答情况 * @return 本次考试记录 */ ExamRecord judge(String userId, String examId, HashMap> answersMap); /** * 根据用户id获取此用户的所有考试信息 * * @param userId 用户id * @return 该用户的所有考试记录 */ List getExamRecordList(String userId); /** * 获取指定某次考试记录的详情 * * @param recordId 考试记录的id * @return 考试详情 */ RecordDetailVo getRecordDetail(String recordId); /** * 更新考试 * * @param examVo 获取所有考试的接口中返回的考试信息结构 * @param userId 当前的用户 * @return 更新后的考试详情 */ Exam update(ExamVo examVo, String userId); }