From 9ac8a9eecad9c1d037226248408fdac125338cfc Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Mon, 16 Dec 2024 10:45:42 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=85=AC=E5=91=8A-=E7=B3=BB=E7=BB=9F=E5=85=AC=E5=91=8A?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E4=B8=8B=E5=8F=91=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1310124763742208]系统公告-系统公告再次下发失败 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1310124763742208 --- .../systemnotice/dao/mapper/SystemNoticeMapper.xml | 2 +- .../systemnotice/schedule/IssueSystemNoticeJob.java | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/neatlogic/framework/systemnotice/dao/mapper/SystemNoticeMapper.xml b/src/main/java/neatlogic/framework/systemnotice/dao/mapper/SystemNoticeMapper.xml index e5413bc07..c35eca87f 100755 --- a/src/main/java/neatlogic/framework/systemnotice/dao/mapper/SystemNoticeMapper.xml +++ b/src/main/java/neatlogic/framework/systemnotice/dao/mapper/SystemNoticeMapper.xml @@ -381,7 +381,7 @@ SELECT `id` FROM `system_notice` - WHERE `status` = 'not_issued' + WHERE `status` IN ('not_issued', 'stopped') AND `start_time` != NULL diff --git a/src/main/java/neatlogic/module/framework/systemnotice/schedule/IssueSystemNoticeJob.java b/src/main/java/neatlogic/module/framework/systemnotice/schedule/IssueSystemNoticeJob.java index b0ae2fd3b..f24b7bb3e 100644 --- a/src/main/java/neatlogic/module/framework/systemnotice/schedule/IssueSystemNoticeJob.java +++ b/src/main/java/neatlogic/module/framework/systemnotice/schedule/IssueSystemNoticeJob.java @@ -52,7 +52,8 @@ public class IssueSystemNoticeJob extends JobBase { TenantContext.get().switchTenant(tenantUuid); Long noticeId = Long.valueOf(jobObject.getJobName()); SystemNoticeVo systemNotice = systemNoticeMapper.getSystemNoticeById(noticeId); - if (systemNotice != null && Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) && systemNotice.getStartTime() != null) { + if (systemNotice != null && systemNotice.getStartTime() != null + && (Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) || Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.STOPPED.getValue()))) { JobObject.Builder newJobObjectBuilder = new JobObject.Builder(noticeId.toString(), this.getGroupName(), this.getClassName(), TenantContext.get().getTenantUuid()) .withBeginTime(systemNotice.getStartTime()) .withIntervalInSeconds(60 * 60) @@ -77,7 +78,8 @@ public class IssueSystemNoticeJob extends JobBase { protected Boolean isMyHealthy(JobObject jobObject) { Long noticeId = Long.valueOf(jobObject.getJobName()); SystemNoticeVo systemNotice = systemNoticeMapper.getSystemNoticeById(noticeId); - if (systemNotice != null && Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) && systemNotice.getStartTime() != null) { + if (systemNotice != null && systemNotice.getStartTime() != null + && (Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) || Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.STOPPED.getValue()))) { return true; } return false; @@ -87,7 +89,8 @@ public class IssueSystemNoticeJob extends JobBase { public void executeInternal(JobExecutionContext context, JobObject jobObject) throws Exception { Long noticeId = Long.valueOf(jobObject.getJobName()); SystemNoticeVo systemNotice = systemNoticeMapper.getSystemNoticeById(noticeId); - if (systemNotice != null && Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) && systemNotice.getStartTime() != null) { + if (systemNotice != null && systemNotice.getStartTime() != null + && (Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.NOTISSUED.getValue()) || Objects.equals(systemNotice.getStatus(), SystemNoticeVo.Status.STOPPED.getValue()))) { systemNoticeService.issueSystemNotice(systemNotice); systemNotice.setStatus(SystemNoticeVo.Status.ISSUED.getValue()); systemNotice.setIssueTime(systemNotice.getStartTime()); -- Gitee