| | |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.mindskip.xzs.domain.*; |
| | | import com.mindskip.xzs.domain.enums.AnswerInvalidEnum; |
| | | import com.mindskip.xzs.domain.enums.ExamPaperAnswerStatusEnum; |
| | | import com.mindskip.xzs.domain.enums.ExamPaperTypeEnum; |
| | | import com.mindskip.xzs.domain.enums.QuestionTypeEnum; |
| | |
| | | |
| | | @Override |
| | | public PageInfo<ExamPaperAnswer> adminPage(com.mindskip.xzs.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM requestVM) { |
| | | return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "user_score desc").doSelectPageInfo(() -> |
| | | return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "create_time desc").doSelectPageInfo(() -> |
| | | examPaperAnswerMapper.adminPage(requestVM)); |
| | | } |
| | | |
| | |
| | | return dataByPaper; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void maxGrade(ExamPaperAnswer examPaperAnswer, Integer templateId) { |
| | | // 获取某一场考试曾经的最高成绩 |
| | | ExamPaperAnswer maxGrade; |
| | | if (Objects.equals(examPaperAnswer.getPaperType(), 7)) { |
| | | maxGrade = examPaperAnswerMapper.getTemplateOtherExamAnswer(examPaperAnswer, templateId); |
| | | } else { |
| | | maxGrade = examPaperAnswerMapper.getPaperOtherExamAnswer(examPaperAnswer); |
| | | } |
| | | if (Objects.isNull(maxGrade)) { |
| | | return; |
| | | } |
| | | // 本次考试分数不如之前,本次无效 |
| | | if (maxGrade.getUserScore() > examPaperAnswer.getUserScore()) { |
| | | // 之前的成绩有效 |
| | | maxGrade.setInvalid(AnswerInvalidEnum.VALID); |
| | | examPaperAnswerMapper.updateByPrimaryKeySelective(maxGrade); |
| | | // 本次的不是最高分,无效 |
| | | examPaperAnswer.setInvalid(AnswerInvalidEnum.INVALID); |
| | | examPaperAnswerMapper.updateByPrimaryKeySelective(examPaperAnswer); |
| | | } |
| | | } |
| | | |
| | | } |