Compare commits

...

2 Commits

Author SHA1 Message Date
Lqc
27dabcce7a 微调 2025-09-03 16:17:06 +08:00
Lqc
d294bfc606 微调 2025-09-03 15:39:17 +08:00
2 changed files with 15 additions and 4 deletions

View File

@ -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;
}

View File

@ -2,6 +2,7 @@ package org.jeecg.modules.aiol.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.aiol.entity.AiolRepo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Date: 2025-08-31
* @Version: V1.0
*/
@Mapper
public interface AiolRepoMapper extends BaseMapper<AiolRepo> {
}