Răsfoiți Sursa

3.4.5 update-20250425,bug修改

xiaofei 1 lună în urmă
părinte
comite
de1117038c

+ 11 - 4
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java

@@ -135,7 +135,7 @@ public class MarkServiceImpl implements MarkService {
     @Resource
     private OcrApiClient ocrApiClient;
     @Resource
-    private SysConfigService sysConfigService;
+    private CommonCacheService commonCacheService;
 
     /**
      * 释放某个评卷员的考生
@@ -1608,6 +1608,13 @@ public class MarkServiceImpl implements MarkService {
         if (aiUser != null) {
             BasicCourse basicCourse = basicCourseMapper.selectByExamIdAndPaperNumber(examId, paperNumber);
             MarkAiQuestionParam markAiQuestionParam = markAiQuestionParamService.getByExamIdAndPaperNumberAndQuestionId(examId, paperNumber, questionId);
+            if (markAiQuestionParam == null) {
+                return;
+            }
+            List<StandardAnswer> standardAnswerList = buildStandardAnswer(markAiQuestionParam);
+            if (CollectionUtils.isEmpty(standardAnswerList)) {
+                return;
+            }
             List<MarkTask> markTasks = null;
             int pageNumber = 1;
             do {
@@ -1634,9 +1641,9 @@ public class MarkServiceImpl implements MarkService {
                         request.setIntervalScore(markAiQuestionParam.getMinScore());
                         request.setQuestionBody(markAiQuestionParam.getMainTitle());
                         request.setStudentAnswer(studentQuestionAnswer);
-                        request.setStandardAnswer(buildStandardAnswer(markAiQuestionParam));
+                        request.setStandardAnswer(standardAnswerList);
                         String aiUrl = null;
-                        SysConfig sysConfig = sysConfigService.getByKey(SystemConstant.AI_MARK_SET);
+                        SysConfig sysConfig = commonCacheService.addSysConfigCache(basicSchool.getId(), SystemConstant.AI_MARK_SET);
                         if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
                             JSONObject object = JSON.parseObject(sysConfig.getConfigValue(), JSONObject.class);
                             if (object.containsKey("url")) {
@@ -1848,7 +1855,7 @@ public class MarkServiceImpl implements MarkService {
             }
 
             String ocrUrl = null;
-            SysConfig sysConfig = sysConfigService.getByKey(SystemConstant.AI_MARK_SET);
+            SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.AI_MARK_SET);
             if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
                 JSONObject object = JSON.parseObject(sysConfig.getConfigValue(), JSONObject.class);
                 if (object.containsKey("ocrUrl")) {

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkSyncServiceImpl.java

@@ -97,7 +97,7 @@ public class MarkSyncServiceImpl implements MarkSyncService {
         }
     }
 
-//    @Async
+    @Async
     @Override
     public void aiTaskResetSync(MarkQuestion markQuestion, Long questionId) {
         Long examId = markQuestion.getExamId();