From f7fd88038866311368828f24623aa0be12aaf5c1 Mon Sep 17 00:00:00 2001 From: hang <87227557@qq.com> Date: Fri, 11 Oct 2024 22:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A6=E5=8F=91=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MassTransit/Consumer/SiteSurverEmailConsumer.cs | 13 +++++-------- .../_DomainEvent/UserSiteSurveySubmitedEvent.cs | 2 ++ .../Interceptor/AddDomainExt.cs | 8 ++++++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/IRaCIS.Core.Application/MassTransit/Consumer/SiteSurverEmailConsumer.cs b/IRaCIS.Core.Application/MassTransit/Consumer/SiteSurverEmailConsumer.cs index e56649c17..8829d3620 100644 --- a/IRaCIS.Core.Application/MassTransit/Consumer/SiteSurverEmailConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Consumer/SiteSurverEmailConsumer.cs @@ -41,8 +41,6 @@ public class UserSiteSurveySubmitedEventConsumer( var trialSiteSurveyId = context.Message.TrialSiteSurveyId; - return; - var siteSurveyInfo = _trialSiteSurveyRepository.Where(t => t.Id == trialSiteSurveyId).FirstOrDefault().IfNullThrowException(); var trialId = siteSurveyInfo.TrialId; @@ -197,16 +195,14 @@ public class SiteSurverRejectedEventConsumer( var trialId = siteSurveyInfo.TrialId; - var hasSPMOrCPM = await _trialSiteSurveyRepository.AnyAsync(t => t.TrialId == siteSurveyInfo.TrialId && t.Trial.TrialUserList.Any(u => u.User.UserTypeEnum == UserTypeEnum.SPM || u.User.UserTypeEnum == UserTypeEnum.CPM)); - var messageToSend = new MimeMessage(); var name = siteSurveyInfo.UserName; - if (hasSPMOrCPM) + if (context.Message.IsHaveSPMOrCPM) { - //PM 驳回 + //PM 驳回到SPM if (siteSurveyInfo.State == TrialSiteSurveyEnum.CRCSubmitted) { var user = await _userRepository.FirstOrDefaultAsync(t => t.Id == siteSurveyInfo.PreliminaryUserId); @@ -215,15 +211,16 @@ public class SiteSurverRejectedEventConsumer( messageToSend.To.Add(new MailboxAddress(String.Empty, user.EMail)); } - //SPM 驳回 + //SPM 驳回到CRC else if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit) { messageToSend.To.Add(new MailboxAddress(String.Empty, siteSurveyInfo.Email)); } + } else { - //没有SPM 给填表人发 + //没有SPM PM驳回到CRC messageToSend.To.Add(new MailboxAddress(String.Empty, siteSurveyInfo.Email)); } diff --git a/IRaCIS.Core.Domain/_DomainEvent/UserSiteSurveySubmitedEvent.cs b/IRaCIS.Core.Domain/_DomainEvent/UserSiteSurveySubmitedEvent.cs index d40050d39..654450733 100644 --- a/IRaCIS.Core.Domain/_DomainEvent/UserSiteSurveySubmitedEvent.cs +++ b/IRaCIS.Core.Domain/_DomainEvent/UserSiteSurveySubmitedEvent.cs @@ -22,4 +22,6 @@ public class SiteSurveySPMSubmitedEvent : DomainEvent public class SiteSurverRejectedEvent : DomainEvent { public Guid TrialSiteSurveyId { get; set; } + + public bool IsHaveSPMOrCPM { get; set; } } diff --git a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs index b1ac9cc9a..ba8008974 100644 --- a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs +++ b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs @@ -43,10 +43,14 @@ public static class DBContext_Ext trialSiteSurvey.AddDomainEvent(new SiteSurveySPMSubmitedEvent() { TrialSiteSurveyId = trialSiteSurvey.Id }); } - //PM 驳回 (在消费者中具体判断 是驳回给谁发邮件) + //PM 驳回 else if ((trialSiteSurvey.State == TrialSiteSurveyEnum.CRCSubmitted || trialSiteSurvey.State == TrialSiteSurveyEnum.ToSubmit) && originState == TrialSiteSurveyEnum.SPMApproved) { - trialSiteSurvey.AddDomainEvent(new SiteSurverRejectedEvent() { TrialSiteSurveyId = trialSiteSurvey.Id }); + trialSiteSurvey.AddDomainEvent(new SiteSurverRejectedEvent() { TrialSiteSurveyId = trialSiteSurvey.Id, IsHaveSPMOrCPM = trialSiteSurvey.State == TrialSiteSurveyEnum.CRCSubmitted }); + } + else if (trialSiteSurvey.State == TrialSiteSurveyEnum.ToSubmit && originState == TrialSiteSurveyEnum.CRCSubmitted) + { + trialSiteSurvey.AddDomainEvent(new SiteSurverRejectedEvent() { TrialSiteSurveyId = trialSiteSurvey.Id, IsHaveSPMOrCPM = true }); } //添加进记录