微调
This commit is contained in:
parent
d294bfc606
commit
27dabcce7a
@ -320,11 +320,10 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
|
||||
updateWrapper.set(AiolExamRecord::getDeviceInfo, examRecord.getDeviceInfo());
|
||||
}
|
||||
// 阅卷
|
||||
List<AiolExamAnswer> gradedAnswers = gradeExam(examRecord.getExamId(), examRecord.getUserId());
|
||||
List<AiolExamAnswer> gradedAnswers = gradeExam(examRecord.getExamId(), examRecord.getUserId(), updateWrapper);
|
||||
examAnswerService.updateBatchById(gradedAnswers);
|
||||
// 更新考试状态,提交时间
|
||||
updateWrapper.
|
||||
set(AiolExamRecord::getStatus,1).
|
||||
set(AiolExamRecord::getSubmittedAt, new Date());
|
||||
// 更新
|
||||
return examRecordService.update(updateWrapper) ? Result.OK() : Result.error("提交考试失败");
|
||||
@ -738,9 +737,10 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
|
||||
* 批量阅卷
|
||||
* @param examId 考试ID
|
||||
* @param userId 用户ID
|
||||
*
|
||||
* @return 阅卷后的答题列表
|
||||
*/
|
||||
private List<AiolExamAnswer> gradeExam(String examId, String userId) {
|
||||
private List<AiolExamAnswer> gradeExam(String examId, String userId , LambdaUpdateWrapper<AiolExamRecord> updateWrapper) {
|
||||
//获取试卷信息
|
||||
AiolExam exam = examService.getById(examId);
|
||||
//获取组卷信息
|
||||
@ -832,6 +832,7 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
|
||||
));
|
||||
|
||||
// 遍历学生的答案,进行评分
|
||||
Double totalPoint = 0.0;
|
||||
for (AiolExamAnswer examAnswer : examAnswerList) {
|
||||
String studentAnswer = examAnswer.getAnswer();
|
||||
AiolQuestion question = questionMap.get(examAnswer.getQuestionId());
|
||||
@ -936,13 +937,21 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
|
||||
}
|
||||
break;
|
||||
}
|
||||
totalPoint += score;
|
||||
examAnswer.setScore(score);
|
||||
// 只有得了满分才算对
|
||||
examAnswer.setIzCorrect(score > 0 && score == (paper.getGenerateMode() == 0 ?
|
||||
questionScoreMap.get(question.getId()) :
|
||||
ruleJson.getDouble("type" + question.getType() + "_score")) ? 1 : 0);
|
||||
}
|
||||
|
||||
if(paper.getRequireReview()==1){
|
||||
updateWrapper
|
||||
.set(AiolExamRecord::getStatus, 1);
|
||||
}else {
|
||||
updateWrapper
|
||||
.set(AiolExamRecord::getStatus, 2)
|
||||
.set(AiolExamRecord::getTotalScore, totalPoint);
|
||||
}
|
||||
return examAnswerList;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user