luohairen
2024-11-12 f18c0b3336a10bc36a9e5ca34a03b6d19c34569b
src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java
@@ -1,26 +1,28 @@
package com.ycl.jxkg.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.ExamPaperAnswerInfo;
import com.ycl.jxkg.domain.entity.*;
import com.ycl.jxkg.domain.other.ExamPaperAnswerUpdate;
import com.ycl.jxkg.domain.other.KeyValue;
import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO;
import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitItemVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
import com.ycl.jxkg.enums.ExamPaperAnswerStatusEnum;
import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO;
import com.ycl.jxkg.enums.ExamPaperTypeEnum;
import com.ycl.jxkg.enums.QuestionTypeEnum;
import com.ycl.jxkg.mapper.ExamPaperScoreMapper;
import com.ycl.jxkg.mapper.ExamPaperMapper;
import com.ycl.jxkg.mapper.ExamPaperScoreMapper;
import com.ycl.jxkg.mapper.QuestionMapper;
import com.ycl.jxkg.mapper.TaskExamCustomerAnswerMapper;
import com.ycl.jxkg.service.ExamPaperScoreService;
import com.ycl.jxkg.service.ExamPaperScoreDetailService;
import com.ycl.jxkg.service.ExamPaperScoreService;
import com.ycl.jxkg.service.TextContentService;
import com.ycl.jxkg.utils.DateTimeUtil;
import com.ycl.jxkg.utils.ExamUtil;
@@ -47,7 +49,7 @@
    @Override
    public PageInfo<ExamPaperScore> studentPage(ExamPaperAnswerPageVO requestVM) {
    public PageInfo<ExamPaperAnswerPageResponseVO> studentPage(ExamPaperAnswerPageVO requestVM) {
        return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
                examPaperScoreMapper.studentPage(requestVM));
    }
@@ -195,7 +197,7 @@
        examPaperScoreDetail.setQuestionId(question.getId());
        examPaperScoreDetail.setExamPaperId(examPaper.getId());
        examPaperScoreDetail.setQuestionScore(null);
        examPaperScoreDetail.setSubjectId(examPaper.getSubjectId());
//        examPaperScoreDetail.setSubjectId(examPaper.getSubjectId());
        examPaperScoreDetail.setItemOrder(itemOrder);
        examPaperScoreDetail.setCreateTime(now);
        examPaperScoreDetail.setCreateUser(user.getId());
@@ -287,4 +289,28 @@
        return PageHelper.startPage(model.getPageIndex(), model.getPageSize()).doSelectPageInfo(() ->
                examPaperScoreMapper.pageExamPaper(model));
    }
    @Override
    public PageInfo<UserAnswerPageResponseVO> pageUser(UserAnswerPageRequestVO model) {
        return PageHelper.startPage(model.getPageIndex(), model.getPageSize()).doSelectPageInfo(() ->
                examPaperScoreMapper.pageUser(model));
    }
    @Override
    public Result queryMaxAndMinScore(Integer id) {
        List<ExamPaperScore> list = new ArrayList<>();
        ExamPaperScore max = examPaperScoreMapper.selectOne(new LambdaQueryWrapper<>(ExamPaperScore.class)
                .eq(ExamPaperScore::getExamId, id)
                .orderByDesc(ExamPaperScore::getTotalScore)
                .last("limit 1"));
        list.add(max);
        if (null != max) {
            ExamPaperScore min = examPaperScoreMapper.selectOne(new LambdaQueryWrapper<>(ExamPaperScore.class)
                    .eq(ExamPaperScore::getExamId, id)
                    .orderByAsc(ExamPaperScore::getTotalScore)
                    .last("limit 1"));
            list.add(min);
        }
        return Result.ok(list);
    }
}