邮件发送修改
parent
400d0d3336
commit
91951be107
|
@ -14154,6 +14154,56 @@
|
||||||
构造函数注入
|
构造函数注入
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer">
|
||||||
|
<summary>
|
||||||
|
影像重传和阅片人筛选相关邮件发送
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialUserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Dictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig})">
|
||||||
|
<summary>
|
||||||
|
影像重传和阅片人筛选相关邮件发送
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.DirectApplyReupdloadEvent})">
|
||||||
|
<summary>
|
||||||
|
处理直接申请流程的重传事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.CheckReuploadEvent})">
|
||||||
|
<summary>
|
||||||
|
处理一致性核查申请重传事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.QCChanllengeReuploadEvent})">
|
||||||
|
<summary>
|
||||||
|
处理质疑CRC申请重传事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.HaveReadVisitTaskReReading})">
|
||||||
|
<summary>
|
||||||
|
处理已阅任务重阅申请事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.SendImageReuploadEmail(IRaCIS.Core.Domain.Models.EmailNoticeConfig,IRaCIS.Core.Domain.Share.EmailBusinessScenario,IRaCIS.Core.Domain.Models.SubjectVisit,System.Guid)">
|
||||||
|
<summary>
|
||||||
|
发送影像重传相关邮件的通用方法
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.ReviewerPMApplyEvent})">
|
||||||
|
<summary>
|
||||||
|
处理PM申请阅片人筛选事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.Consume(MassTransit.ConsumeContext{IRaCIS.Core.Domain._DomainEvent.ReviewerSPMApprovedEvent})">
|
||||||
|
<summary>
|
||||||
|
处理SPM审批阅片人筛选事件
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.ImageConsumer.SendReviewerSelectionEmail(IRaCIS.Core.Domain.Models.EmailNoticeConfig,IRaCIS.Core.Domain.Share.EmailBusinessScenario,System.Guid,System.Collections.Generic.List{System.Guid})">
|
||||||
|
<summary>
|
||||||
|
发送阅片人筛选相关邮件的通用方法
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.MassTransit.Consumer.UrgentMedicalReviewAddedEventConsumer">
|
<member name="T:IRaCIS.Core.Application.MassTransit.Consumer.UrgentMedicalReviewAddedEventConsumer">
|
||||||
<summary>
|
<summary>
|
||||||
加急的医学反馈任务 通知MIM
|
加急的医学反馈任务 通知MIM
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class ImageConsumer(
|
||||||
IRepository<VisitTask> _visitTaskRepository,
|
IRepository<VisitTask> _visitTaskRepository,
|
||||||
IRepository<ReadModule> _readModuleRepository,
|
IRepository<ReadModule> _readModuleRepository,
|
||||||
IRepository<Dictionary> _dictionaryRepository,
|
IRepository<Dictionary> _dictionaryRepository,
|
||||||
IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigrepository,
|
IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
||||||
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) :
|
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) :
|
||||||
IConsumer<DirectApplyReupdloadEvent>,
|
IConsumer<DirectApplyReupdloadEvent>,
|
||||||
IConsumer<CheckReuploadEvent>,
|
IConsumer<CheckReuploadEvent>,
|
||||||
|
@ -88,7 +88,7 @@ public class ImageConsumer(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t => t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -122,7 +122,7 @@ public class ImageConsumer(
|
||||||
return; // 其他状态不发送邮件
|
return; // 其他状态不发送邮件
|
||||||
}
|
}
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t =>t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -156,7 +156,7 @@ public class ImageConsumer(
|
||||||
return; // 其他状态不发送邮件
|
return; // 其他状态不发送邮件
|
||||||
}
|
}
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t =>t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -203,7 +203,7 @@ public class ImageConsumer(
|
||||||
return; // 其他状态不发送邮件
|
return; // 其他状态不发送邮件
|
||||||
}
|
}
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t => t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -214,7 +214,7 @@ public class ImageConsumer(
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送影像重传相关邮件的通用方法
|
/// 发送影像重传相关邮件的通用方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task SendImageReuploadEmail(TrialEmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, SubjectVisit subjectVisit, Guid trialId)
|
private async Task SendImageReuploadEmail(EmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, SubjectVisit subjectVisit, Guid trialId)
|
||||||
{
|
{
|
||||||
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
@ -295,6 +295,31 @@ public class ImageConsumer(
|
||||||
messageToSend.Cc.Add(new MailboxAddress(String.Empty, ccUser.EMail));
|
messageToSend.Cc.Add(new MailboxAddress(String.Empty, ccUser.EMail));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string isUrgent = string.Empty;
|
||||||
|
|
||||||
|
if (isEn_US)
|
||||||
|
{
|
||||||
|
if (subjectVisit.IsUrgent)
|
||||||
|
{
|
||||||
|
isUrgent = "yes";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
isUrgent = "no";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (subjectVisit.IsUrgent)
|
||||||
|
{
|
||||||
|
isUrgent = "是";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
isUrgent = "否";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 格式化邮件内容
|
// 格式化邮件内容
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
|
@ -306,7 +331,7 @@ public class ImageConsumer(
|
||||||
trialInfo.ExperimentName, // 项目 {1}
|
trialInfo.ExperimentName, // 项目 {1}
|
||||||
subjectCode, // 受试者 {2}
|
subjectCode, // 受试者 {2}
|
||||||
subjectVisit.VisitName, // 访视 {3}
|
subjectVisit.VisitName, // 访视 {3}
|
||||||
"是", // 是否加急 {4} - 固定为"是"
|
isUrgent, // 是否加急 {4}
|
||||||
"", // 预留 {5}
|
"", // 预留 {5}
|
||||||
_systemEmailConfig.SiteUrl // 链接 {6}
|
_systemEmailConfig.SiteUrl // 链接 {6}
|
||||||
);
|
);
|
||||||
|
@ -314,7 +339,7 @@ public class ImageConsumer(
|
||||||
return (topicStr, htmlBodyStr);
|
return (topicStr, htmlBodyStr);
|
||||||
};
|
};
|
||||||
|
|
||||||
await CommonEmailHelper.GetTrialEmailSubejctAndHtmlInfoAndBuildAsync(trialEmailConfig, scenario, messageToSend, emailConfigFunc);
|
await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository, scenario, messageToSend, emailConfigFunc);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
||||||
}
|
}
|
||||||
|
@ -343,7 +368,7 @@ public class ImageConsumer(
|
||||||
// 设置邮件场景
|
// 设置邮件场景
|
||||||
var scenario = EmailBusinessScenario.ReviewerSelection_PMApplyApproving; // 69
|
var scenario = EmailBusinessScenario.ReviewerSelection_PMApplyApproving; // 69
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t =>t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -374,7 +399,7 @@ public class ImageConsumer(
|
||||||
// 设置邮件场景
|
// 设置邮件场景
|
||||||
var scenario = EmailBusinessScenario.ReviewerSelection_SPMCPMApproval; // 70
|
var scenario = EmailBusinessScenario.ReviewerSelection_SPMCPMApproval; // 70
|
||||||
|
|
||||||
var trialEmailConfig = _trialEmailNoticeConfigrepository.Where(t => t.TrialId == trialId && t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault();
|
var trialEmailConfig = _emailNoticeConfigrepository.Where(t =>t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault();
|
||||||
|
|
||||||
if (trialEmailConfig != null)
|
if (trialEmailConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -385,7 +410,7 @@ public class ImageConsumer(
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送阅片人筛选相关邮件的通用方法
|
/// 发送阅片人筛选相关邮件的通用方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task SendReviewerSelectionEmail(TrialEmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, Guid trialId, List<Guid> enrollIdList)
|
private async Task SendReviewerSelectionEmail(EmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, Guid trialId, List<Guid> enrollIdList)
|
||||||
{
|
{
|
||||||
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
@ -441,7 +466,7 @@ public class ImageConsumer(
|
||||||
trialInfo.ExperimentName, // 项目 {1}
|
trialInfo.ExperimentName, // 项目 {1}
|
||||||
"", // 受试者 {2} - 阅片人筛选不涉及受试者
|
"", // 受试者 {2} - 阅片人筛选不涉及受试者
|
||||||
"", // 访视 {3} - 阅片人筛选不涉及访视
|
"", // 访视 {3} - 阅片人筛选不涉及访视
|
||||||
"是", // 是否加急 {4} - 固定为"是"
|
"", // 是否加急 {4}
|
||||||
"", // 预留 {5}
|
"", // 预留 {5}
|
||||||
_systemEmailConfig.SiteUrl // 链接 {6}
|
_systemEmailConfig.SiteUrl // 链接 {6}
|
||||||
);
|
);
|
||||||
|
@ -449,7 +474,7 @@ public class ImageConsumer(
|
||||||
return (topicStr, htmlBodyStr);
|
return (topicStr, htmlBodyStr);
|
||||||
};
|
};
|
||||||
|
|
||||||
await CommonEmailHelper.GetTrialEmailSubejctAndHtmlInfoAndBuildAsync(trialEmailConfig, scenario, messageToSend, emailConfigFunc);
|
await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository, scenario, messageToSend, emailConfigFunc);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue