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