Browse Source

fix:报告解析任务每小时执行一次

wangzaijun 1 month ago
parent
commit
84bc176309

+ 5 - 5
mo-daq/src/main/java/com/smppw/modaq/application/task/ParseSchedulerTask.java

@@ -75,20 +75,20 @@ public class ParseSchedulerTask {
     }
 
     /**
-     * 定时任务每21分钟执行一次
+     * 定时任务每60分钟执行一次
      */
-    @Scheduled(cron = "0 */21 * * * ?")
+    @Scheduled(cron = "0 15 */1 * * ?")
     public void report() {
         String taskKey = "mo_email_parser_report_task";
-        TaskRecordDO task = this.taskRecordService.getTaskRecord(taskKey, 21 * 2 * 60);
+        TaskRecordDO task = this.taskRecordService.getTaskRecord(taskKey, 60 * 2 * 60);
         if (task == null) {
             return;
         }
         long start = System.currentTimeMillis();
         Date now = new Date();
         try {
-            // 尽可能往前找21分钟覆盖可能遗漏的邮件
-            Date startTime = DateUtil.offsetMinute(task.getStartTime(), -21);
+            // 尽可能往前找50分钟覆盖可能遗漏的邮件
+            Date startTime = DateUtil.offsetMinute(task.getStartTime(), -50);
             // 定期报告从 我的文件夹.报告公告 文件夹获取邮件
             this.emailParseApiService.parseEmail(startTime, now,
                     ListUtil.of("其他文件夹/报告公告"), EmailTypeConst.REPORT_EMAIL_TYPES);

+ 1 - 1
mo-daq/src/test/java/com/smppw/modaq/MoDaqApplicationTests.java

@@ -45,7 +45,7 @@ public class MoDaqApplicationTests {
 //            folderNames.add("其他文件夹/报告公告");
             folderNames.add("INBOX");
             emailParseService.parseEmail(emailInfoDTO, startDate, endDate,
-                    folderNames, ListUtil.of(EmailTypeConst.REPORT_LETTER_EMAIL_TYPE));
+                    folderNames, EmailTypeConst.REPORT_EMAIL_TYPES);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }