From 461dedf088c1532a49cf3340e2363fb99a26ce52 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 12 Jun 2023 13:52:24 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9B=B8=E5=85=B3bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/task/SyncThirdSysTask.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index d10c44f95..45d7ec404 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -256,6 +256,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { private void updateTask(String taskKey) { ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey); vo.setFinished(true); + vo.setNextTime(new Date().getTime()); redisUtil.set(taskKey, vo); } @@ -269,12 +270,13 @@ public class SyncThirdSysTask implements SchedulingConfigurer { String taskKey = getTaskKey(thrSystemDetailEntity); ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey); if (null != vo && !vo.isFinished()) { - log.info("有任务尚未执行完成,当前任务key:{}", taskKey); + log.info(vo.getKey() + "有任务尚未执行完成,当前任务key:{}", taskKey); return false; } - long nextTime = DateUtil.offsetMonth(new Date(), thrSystemDetailEntity.getTime()).getTime(); + long curTime = new Date().getTime(); if (vo != null) { - if (vo.getNextTime() - new Date().getTime() > thrSystemDetailEntity.getTime() * 1000 * 60) { + long lastTime = vo.getNextTime(); + if (curTime - lastTime < thrSystemDetailEntity.getTime().intValue() * 1000 * 60) { log.info("定时任务时间未到", taskKey); return false; } else { @@ -283,7 +285,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { } else { vo = Optional.ofNullable(vo).orElse(new ThirdSysInterfaceExecuteVo()); vo.setKey(taskKey); - vo.setNextTime(nextTime); + vo.setNextTime(curTime); vo.setFinished(false); redisUtil.set(taskKey, vo); }