|
@@ -558,6 +558,7 @@ public class MarkServiceImpl implements MarkService {
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setTaskNumber(1);
|
|
markTask.setTaskNumber(1);
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
|
|
+ markTask.setRetryCount(markTask.getAiMarked() ? 5 : null);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
taskList.add(markTask);
|
|
taskList.add(markTask);
|
|
// 开启双评时需要判断是否生成第二份评卷任务
|
|
// 开启双评时需要判断是否生成第二份评卷任务
|
|
@@ -590,6 +591,7 @@ public class MarkServiceImpl implements MarkService {
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setTaskNumber(2);
|
|
markTask.setTaskNumber(2);
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
|
|
+ markTask.setRetryCount(markTask.getAiMarked() ? 5 : null);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
taskList.add(markTask);
|
|
taskList.add(markTask);
|
|
doubleCount++;
|
|
doubleCount++;
|
|
@@ -690,6 +692,7 @@ public class MarkServiceImpl implements MarkService {
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setSecretNumber(student.getSecretNumber());
|
|
markTask.setTaskNumber(2);
|
|
markTask.setTaskNumber(2);
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
markTask.setAiMarked(getAiMarked(markQuestion, markTask.getTaskNumber()));
|
|
|
|
+ markTask.setRetryCount(markTask.getAiMarked() ? 5 : null);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
markTask.setStatus(MarkTaskStatus.WAITING);
|
|
taskList.add(markTask);
|
|
taskList.add(markTask);
|
|
doubleCount++;
|
|
doubleCount++;
|
|
@@ -1578,7 +1581,7 @@ public class MarkServiceImpl implements MarkService {
|
|
try {
|
|
try {
|
|
this.ocrStudentQuestionResult(basicSchool, t.getStudentId(), t.getQuestionId());
|
|
this.ocrStudentQuestionResult(basicSchool, t.getStudentId(), t.getQuestionId());
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- log.error("OCR识别错误:", e.getMessage());
|
|
|
|
|
|
+ log.error("OCR识别错误:{}", e.getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 获取终止评卷标记
|
|
// 获取终止评卷标记
|
|
@@ -1653,9 +1656,20 @@ public class MarkServiceImpl implements MarkService {
|
|
// AI评卷
|
|
// AI评卷
|
|
AutoScoreResult autoScoreResult = aiService.autoScore(aiUrl, AiUtil.signature(basicSchool), request);
|
|
AutoScoreResult autoScoreResult = aiService.autoScore(aiUrl, AiUtil.signature(basicSchool), request);
|
|
long endTime = System.currentTimeMillis();
|
|
long endTime = System.currentTimeMillis();
|
|
- submitAiTask(t, aiUser.getId(), markQuestion, autoScoreResult, buildTrack(markAiQuestionParam.getMode(), autoScoreResult, markQuestion, markOcrStudentQuestions), endTime - startTime);
|
|
|
|
- t.setAiMarkErrorMsg(null);
|
|
|
|
|
|
+ if (autoScoreResult == null) {
|
|
|
|
+ // 此错误不重试
|
|
|
|
+ t.setRetryCount(0);
|
|
|
|
+ t.setAiMarkErrorType(MarkTaskAiErrorTypeStatus.NULL);
|
|
|
|
+ t.setAiMarkErrorMsg(MarkTaskAiErrorTypeStatus.NULL.getName());
|
|
|
|
+ } else {
|
|
|
|
+ submitAiTask(t, aiUser.getId(), markQuestion, autoScoreResult, buildTrack(markAiQuestionParam.getMode(), autoScoreResult, markQuestion, markOcrStudentQuestions), endTime - startTime);
|
|
|
|
+ t.setRetryCount(0);
|
|
|
|
+ t.setAiMarkErrorType(null);
|
|
|
|
+ t.setAiMarkErrorMsg(null);
|
|
|
|
+ }
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
+ t.setRetryCount(t.getRetryCount() == null ? 5 : t.getRetryCount() == 0 ? 0 : t.getRetryCount() - 1);
|
|
|
|
+ t.setAiMarkErrorType(MarkTaskAiErrorTypeStatus.OTHER);
|
|
t.setAiMarkErrorMsg(e.getMessage());
|
|
t.setAiMarkErrorMsg(e.getMessage());
|
|
} finally {
|
|
} finally {
|
|
this.releaseStudent(examId, paperNumber, t.getStudentId(), aiUser.getId());
|
|
this.releaseStudent(examId, paperNumber, t.getStudentId(), aiUser.getId());
|
|
@@ -1855,7 +1869,7 @@ public class MarkServiceImpl implements MarkService {
|
|
}
|
|
}
|
|
|
|
|
|
String ocrUrl = null;
|
|
String ocrUrl = null;
|
|
- SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.AI_MARK_SET);
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(basicSchool.getId(), SystemConstant.AI_MARK_SET);
|
|
if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
|
|
if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
|
|
JSONObject object = JSON.parseObject(sysConfig.getConfigValue(), JSONObject.class);
|
|
JSONObject object = JSON.parseObject(sysConfig.getConfigValue(), JSONObject.class);
|
|
if (object.containsKey("ocrUrl")) {
|
|
if (object.containsKey("ocrUrl")) {
|