智慧保安后台管理-外网项目备份
Administrator
2022-03-02 ae6b1dfe207d92e6c42a5a191089acf05d7bdf30
考试提交接口新增
4 files modified
1 files added
101 ■■■■■ changed files
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamRecordController.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamRecordService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java 46 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamScoreVO.java 33 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamRecordController.java
@@ -9,9 +9,11 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.exam.vo.ExamPaperVO;
import org.springblade.modules.exam.vo.ExamScoreVO;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springblade.modules.simulateexam.vo.SimulateExamScoreVO;
import org.springframework.web.bind.annotation.*;
/**
@@ -127,4 +129,14 @@
        return R.data(simulateExamRecordService.getSimulateExamRecordInfo(simulateExamRecord));
    }
    /**
     * 提交考试
     *
     * @param simulateExamScore 模拟考试成绩信息对象
     * @return
     */
    @PostMapping("/saveSimulateExam")
    public R saveSimulateExam(@RequestBody SimulateExamScoreVO simulateExamScore) {
        return R.data(simulateExamRecordService.saveSimulateExam(simulateExamScore));
    }
}
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamRecordService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springblade.modules.simulateexam.vo.SimulateExamScoreVO;
/**
 *  模拟考试记录服务类
@@ -50,4 +51,12 @@
     * @return
     */
    Object getSimulateExamRefreshInfo(SimulateExamRecordVO simulateExamRecord);
    /**
     * 提交考试
     *
     * @param simulateExamScore 模拟考试成绩信息对象
     * @return
     */
    Object saveSimulateExam(SimulateExamScoreVO simulateExamScore);
}
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
@@ -6,11 +6,14 @@
import org.redisson.misc.Hash;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.exam.entity.ExamAnswerRecord;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.entity.ExamSubjectChoices;
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.exam.service.ExamSubjectChoicesService;
import org.springblade.modules.exam.vo.ExamResultVO;
import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
@@ -18,8 +21,10 @@
import org.springblade.modules.simulateexam.service.SimulateExamAnswerRecordService;
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springblade.modules.simulateexam.vo.SimulateExamScoreVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.vip.entity.VipTopic;
import org.springblade.modules.vip.service.VipTopicService;
@@ -27,6 +32,7 @@
import org.springframework.stereotype.Service;
import java.lang.reflect.Array;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -240,4 +246,44 @@
        }
        return null;
    }
    /**
     * 提交考试
     * @param simulateExamScore 模拟考试成绩信息对象
     * @return
     */
    @Override
    public Object saveSimulateExam(SimulateExamScoreVO simulateExamScore) {
        //取出考试结果
        if (simulateExamScore.getExamResultVOS().size() > 0) {
            List<ExamResultVO> examResultVOS = simulateExamScore.getExamResultVOS();
            //查询模拟考试信息
            SimulateExamRecord simulateExamRecord = this.getById(simulateExamScore.getSimulateExamId());
            int count = 0;
            //计算考试得分,并存入考试答题记录
            for (ExamResultVO examResultVO : examResultVOS) {
                SimulateExamAnswerRecord answerRecord = new SimulateExamAnswerRecord();
                answerRecord.setSimulateExamId(simulateExamScore.getSimulateExamId());
                answerRecord.setAnswerOption(examResultVO.getValue());
                answerRecord.setAnswerScore(examResultVO.getGrade());
                if (examResultVO.getGrade() > 0) {
                    answerRecord.setAnswerResult(1);
                } else {
                    answerRecord.setAnswerResult(2);
                }
                count = count + examResultVO.getGrade();
                answerRecord.setAnswerTime(new Date());
                //新增
                simulateExamAnswerRecordService.save(answerRecord);
            }
            //设置总分
            simulateExamRecord.setScore(count);
            //更新模拟考试信息
            this.updateById(simulateExamRecord);
            //返回
            return true;
        }
        //返回结果
        return false;
    }
}
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamScoreVO.java
New file
@@ -0,0 +1,33 @@
package org.springblade.modules.simulateexam.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.vo.ExamResultVO;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * 模拟考试提交 vo
 * @author zhongrj
 * @time 2022-03-02
 */
@Data
public class SimulateExamScoreVO{
    private static final long serialVersionUID = 1L;
    /**
     * 考试id,提交成绩时用
     */
    private Long simulateExamId;
    /**
     * 考勤提交的结果
     */
    private List<ExamResultVO> examResultVOS;
}
src/main/resources/application.yml
@@ -220,6 +220,7 @@
      - /simulateExamRecord/pauseExam
      - /simulateExamRecord/getSimulateExamRefreshInfo
      - /simulateExamRecord/beginExam
      - /simulateExamRecord/saveSimulateExam
      - /examSubjectChoices/getSubjectResultInfoBySimulate
      - /blade-user/getNotUpdatePwdInfo
      - /attendance/AppSave