培训过期改为每个人单独发送
continuous-integration/drone/push Build is running Details

Uat_IRC_Net10
he 2026-06-25 09:55:01 +08:00
parent b3a5047ba8
commit 532e514060
2 changed files with 77 additions and 81 deletions

View File

@ -95,8 +95,6 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
var userWorkLanguageList = userinfoList.Select(x => x.UserWorkLanguage).Distinct().ToList(); var userWorkLanguageList = userinfoList.Select(x => x.UserWorkLanguage).Distinct().ToList();
foreach (var workLanguage in userWorkLanguageList) foreach (var workLanguage in userWorkLanguageList)
{
try
{ {
var langUserInfoList = userinfoList.Where(x => x.UserWorkLanguage == workLanguage).ToList(); var langUserInfoList = userinfoList.Where(x => x.UserWorkLanguage == workLanguage).ToList();
if (!langUserInfoList.Any()) if (!langUserInfoList.Any())
@ -105,17 +103,15 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
} }
var userIsEn_US = workLanguage == UserWorkLanguage.US; var userIsEn_US = workLanguage == UserWorkLanguage.US;
var companyName = userIsEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
var messageToSend = new MimeMessage();
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
foreach (var userinfo in langUserInfoList) foreach (var userinfo in langUserInfoList)
{ {
try
{
var messageToSend = new MimeMessage();
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
messageToSend.To.Add(new MailboxAddress(userinfo.FullName, userinfo.EMail)); messageToSend.To.Add(new MailboxAddress(userinfo.FullName, userinfo.EMail));
}
var companyName = userIsEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
var userNames = langUserInfoList.Select(x => x.UserName).ToList();
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input => Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
{ {
@ -123,7 +119,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
var htmlBodyStr = string.Format( var htmlBodyStr = string.Format(
CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage), CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
string.Join(',', userNames), userinfo.UserName,
_systemEmailConfig.SiteUrl _systemEmailConfig.SiteUrl
); );
@ -137,6 +133,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
{ {
} }
} }
}
} }

View File

@ -115,8 +115,6 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
var groupedList = userWithTrialList.GroupBy(x => new { x.TrialId, x.User.UserWorkLanguage }).ToList(); var groupedList = userWithTrialList.GroupBy(x => new { x.TrialId, x.User.UserWorkLanguage }).ToList();
foreach (var groupItem in groupedList) foreach (var groupItem in groupedList)
{
try
{ {
var langUserInfoList = groupItem.Select(x => x.User).Distinct().ToList(); var langUserInfoList = groupItem.Select(x => x.User).Distinct().ToList();
if (!langUserInfoList.Any()) if (!langUserInfoList.Any())
@ -134,23 +132,23 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
var workLanguage = groupItem.Key.UserWorkLanguage; var workLanguage = groupItem.Key.UserWorkLanguage;
var userIsEn_US = workLanguage == UserWorkLanguage.US; var userIsEn_US = workLanguage == UserWorkLanguage.US;
var messageToSend = new MimeMessage(); var companyName = userIsEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
foreach (var userinfo in langUserInfoList) foreach (var userinfo in langUserInfoList)
{ {
try
{
var messageToSend = new MimeMessage();
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
messageToSend.To.Add(new MailboxAddress(userinfo.FullName, userinfo.EMail)); messageToSend.To.Add(new MailboxAddress(userinfo.FullName, userinfo.EMail));
}
var companyName = userIsEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
var userNames = langUserInfoList.Select(x => x.UserName).ToList();
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input => Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
{ {
var topicStr = string.Format(input.topicStr, companyName); var topicStr = string.Format(input.topicStr, companyName);
var htmlBodyStr = string.Format( var htmlBodyStr = string.Format(
CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage), CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
string.Join(',', userNames), userinfo.UserName,
_systemEmailConfig.SiteUrl _systemEmailConfig.SiteUrl
); );
@ -165,6 +163,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring
{ {
} }
}
} }