浏览代码

修复通知的BUG

lideyin 5 年之前
父节点
当前提交
8c4b53a404

+ 6 - 13
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/DisposePublishingNoticeTask.java

@@ -40,15 +40,14 @@ public class DisposePublishingNoticeTask extends AbstractTask {
             return;
         }
         Long startUserId = 0L;
+        int loopTimes = 0;
         for (NoticeRulePublishProgressBean progress : progressList) {
-            int loopTimes = 0;
+            loopTimes++;
             Long lastMaxUserId = getLastMaxUserId(progress.getNoticeReceiverRuleType(), progress);
+            if (lastMaxUserId != null) {
+                startUserId = lastMaxUserId + 1;
+            }
             while (true) {
-//                try {
-                loopTimes++;
-                if (lastMaxUserId != null) {
-                    startUserId = lastMaxUserId + 1;
-                }
                 DisposePublishingUserNoticeReq disposeReq = new DisposePublishingUserNoticeReq();
                 disposeReq.setStartUserId(startUserId);
                 disposeReq.setNoticeRulePublishProgress(progress);
@@ -62,15 +61,9 @@ public class DisposePublishingNoticeTask extends AbstractTask {
                     startUserId = nextUserId;
                     //处理中的状态只需更新一次
                     if (loopTimes == 1) {
-                        updateNoticeStatus(progress.getNoticeId(), NoticeStatus.PUBLISHED);
+                        updateNoticeStatus(progress.getNoticeId(), NoticeStatus.PUBLISHING);
                     }
                 }
-//                } catch (Exception e) {
-//                    // 特殊处理:此处为了不影响自动服务的其它正常数据,所以吃掉了异常
-//                    log.error("[DISPOSE-NOTICE]:处理用户通知任务出现异常,rootOrgId=" + progress.getRootOrgId() + ",noticeId="
-//                            + progress.getNoticeId(), e);
-//                    break;
-//                }
             }
         }
 

+ 34 - 0
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/OeCleanTempFileAnswerTask.java

@@ -0,0 +1,34 @@
+package cn.com.qmth.examcloud.task.service.job;
+
+import cn.com.qmth.examcloud.core.oe.student.api.OeStudentExamRecordCloudService;
+import cn.com.qmth.examcloud.web.task.AbstractTask;
+import cn.com.qmth.examcloud.web.task.ScheduleJob;
+import cn.com.qmth.examcloud.web.task.TaskTracker;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description 清理文件作答的临时数据
+ * @Author lideyin
+ * @Date 2019/8/13 19:10
+ * @Version 1.0
+ */
+@Component("oeCleanTempFileAnswerTask")
+public class OeCleanTempFileAnswerTask extends AbstractTask {
+
+	@Autowired
+	TaskTracker taskTracker;
+	
+	@Autowired
+	private OeStudentExamRecordCloudService oeStudentExamRecordCloudService;
+	
+	@Override
+	public void run(ScheduleJob scheduleJob) throws Exception {
+		oeStudentExamRecordCloudService.cleanTempFileAnswers();
+	}
+
+	@Override
+	public TaskTracker getTaskTracker() {
+		return taskTracker;
+	}
+}