diff --git a/IRaCIS.Core.API/HostService/HangfireHostService.cs b/IRaCIS.Core.API/HostService/HangfireHostService.cs index 4d734134a..f1ede2c8b 100644 --- a/IRaCIS.Core.API/HostService/HangfireHostService.cs +++ b/IRaCIS.Core.API/HostService/HangfireHostService.cs @@ -67,7 +67,7 @@ public class HangfireHostService(IRecurringMessageScheduler _recurringMessageSch //利用主键作为任务Id var jobId = $"{task.Id}_({task.BusinessScenarioEnum})"; - HangfireJobHelper.AddOrUpdateSystemCronJob(jobId, task.BusinessScenarioEnum, task.EmailCron); + HangfireJobHelper.AddOrUpdateTimingCronJob(jobId, task.BusinessScenarioEnum, task.EmailCron); } diff --git a/IRaCIS.Core.Application/Helper/HangfireJobHelper.cs b/IRaCIS.Core.Application/Helper/HangfireJobHelper.cs index ef5e78eed..96e8f2c47 100644 --- a/IRaCIS.Core.Application/Helper/HangfireJobHelper.cs +++ b/IRaCIS.Core.Application/Helper/HangfireJobHelper.cs @@ -83,18 +83,20 @@ namespace IRaCIS.Core.Application.Helper } - public static void AddOrUpdateSystemCronJob(string jobId, EmailBusinessScenario businessScenario, string emailCron) + public static void AddOrUpdateTimingCronJob(string jobId, EmailBusinessScenario businessScenario, string emailCron) { switch (businessScenario) { case EmailBusinessScenario.GeneralTraining_ExpirationNotification: - HangfireJobHelper.RemoveCronJob(jobId + "System"); - HangfireJobHelper.RemoveCronJob(jobId + "Trial"); - Console.WriteLine("添加发邮件过期提醒任务"); - HangfireJobHelper.AddOrUpdateCronJob(jobId+"System", t => t.Send(new SystemDocumentErverDayEvent() { }, default), emailCron); - HangfireJobHelper.AddOrUpdateCronJob(jobId+"Trial", t => t.Send(new TrialDocumentErverDayEvent() { }, default), emailCron); + + HangfireJobHelper.AddOrUpdateCronJob(jobId, t => t.Send(new SystemDocumentErverDayEvent() { }, default), emailCron); + break; + case EmailBusinessScenario.TrialTraining_ExpirationNotification: + + + HangfireJobHelper.AddOrUpdateCronJob(jobId, t => t.Send(new TrialDocumentErverDayEvent() { }, default), emailCron); break; default: diff --git a/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs b/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs index fdf30e753..a2321f285 100644 --- a/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs @@ -267,7 +267,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring return (topicStr, htmlBodyStr); }; - var scenario = EmailBusinessScenario.GeneralTraining_EffectiveNotification; + var scenario = EmailBusinessScenario.TrialTraining_EffectiveNotification; var emailConfig = _emailNoticeConfigrepository.Where(t => t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault(); diff --git a/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs index 4bdc0d7b6..fc2fa6c3f 100644 --- a/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs @@ -167,10 +167,12 @@ namespace IRaCIS.Core.Application.Contracts { var jobId = $"{entity.Id}_({entity.BusinessScenarioEnum})"; + HangfireJobHelper.RemoveCronJob(jobId); + //有的job 可能编辑控制直接不发,需要移除已存在的 if (entity.IsAutoSend && entity.IsEnable) { - HangfireJobHelper.AddOrUpdateSystemCronJob(jobId, entity.BusinessScenarioEnum, entity.EmailCron); + HangfireJobHelper.AddOrUpdateTimingCronJob(jobId, entity.BusinessScenarioEnum, entity.EmailCron); } } diff --git a/IRaCIS.Core.Domain.Share/Common/EmailScenarioEnum.cs b/IRaCIS.Core.Domain.Share/Common/EmailScenarioEnum.cs index fc81f3708..b11006898 100644 --- a/IRaCIS.Core.Domain.Share/Common/EmailScenarioEnum.cs +++ b/IRaCIS.Core.Domain.Share/Common/EmailScenarioEnum.cs @@ -312,8 +312,15 @@ namespace IRaCIS.Core.Domain.Share /// ReviewerSelection_SPMCPMApproval = 70, + /// + /// 项目培训 - 生效通知 + /// + TrialTraining_EffectiveNotification = 71, - + /// + /// 项目培训 - 到期通知 + /// + TrialTraining_ExpirationNotification = 72, }