deason 11 mēneši atpakaļ
vecāks
revīzija
94a8625756

+ 16 - 4
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/provider/SyncExamDataCloudServiceProvider.java

@@ -70,6 +70,9 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
     @Autowired
     private ExamScoreObtainQueueService examScoreObtainQueueService;
 
+    @Autowired
+    private ExamScoreNoticeQueueService examScoreNoticeQueueService;
+
     @Autowired
     private ExamRecordDataRepo examRecordDataRepo;
 
@@ -191,6 +194,10 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
         ExamPropertyCacheBean auditAllPassProperty = CacheHelper.getExamProperty(examId, ExamProperties.AUDIT_ALL_PASS.name());
         boolean isAuditAllPass = auditAllPassProperty != null && StringUtil.isTrue(auditAllPassProperty.getValue());
 
+        // 是否推送分数
+        ExamPropertyCacheBean pushScoreProperty = CacheHelper.getExamProperty(examId, ExamProperties.PUSH_SCORE.name());
+        boolean isPushScore = pushScoreProperty != null && StringUtil.isTrue(pushScoreProperty.getValue());
+
         //先更新考生的考试次数
         ExamStudentEntity examStudent = updateExamStudent(examStudentId);
 
@@ -323,11 +330,16 @@ public class SyncExamDataCloudServiceProvider extends ControllerSupport implemen
         // 保存阅卷相关数据
         examRecordForMarkingService.saveExamRecordForMarking(realExamRecordDataId, tempExamRecordData.getObjectiveScore());
 
-        // 保存考试分数数据到推分队列
-        examScorePushQueueService.saveScoreDataInfoToQueue(realExamRecordDataId, examScoreId);
+        if (isPushScore) {
+            // 保存考试分数数据到推分队列
+            examScorePushQueueService.saveScoreDataInfoToQueue(realExamRecordDataId, examScoreId);
 
-        // 保存考试分数数据到分数获取队列
-        examScoreObtainQueueService.saveExamScoreObtainQueue(realExamRecordDataId);
+            // 保存考试分数数据到分数获取队列
+            examScoreObtainQueueService.saveExamScoreObtainQueue(realExamRecordDataId);
+
+            // 保存成绩通知队列
+            examScoreNoticeQueueService.addExamScoreNoticeQueue(rootOrgId);
+        }
 
         //刷新考生的缓存
         examStudentCache.refresh(examStudentId);