From 0cb54b4c404f29fabb3c2a27dfb35d8fab05acb2 Mon Sep 17 00:00:00 2001
From: "{872297557@qq.com}" <872297557@qq.com>
Date: Tue, 13 Dec 2022 14:45:25 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E9=97=B4=E8=B0=83?=
=?UTF-8?q?=E7=A0=94=E9=82=AE=E4=BB=B6=E9=A9=B3=E5=9B=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 2 +-
.../Service/Common/MailService.cs | 12 +++++++
.../SiteSurvey/TrialSiteSurveyService.cs | 36 +++++++++----------
3 files changed, 31 insertions(+), 19 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index d1a4a7d4c..e9a142085 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -6605,7 +6605,7 @@
-
+
驳回 New
diff --git a/IRaCIS.Core.Application/Service/Common/MailService.cs b/IRaCIS.Core.Application/Service/Common/MailService.cs
index bf3dc45c3..585de9810 100644
--- a/IRaCIS.Core.Application/Service/Common/MailService.cs
+++ b/IRaCIS.Core.Application/Service/Common/MailService.cs
@@ -16,6 +16,8 @@ namespace IRaCIS.Application.Services
Task AnolymousSendEmail(string researchProgramNo, string emailAddress, int verificationCode);
+ Task SiteSurveyRejectEmail(MimeMessage messageToSend);
+
Task SendMailEditEmail(Guid userId, string userName, string emailAddress, int verificationCode);
Task AnolymousSendEmailForResetAccount(string emailAddress, int verificationCode);
@@ -269,8 +271,18 @@ namespace IRaCIS.Application.Services
}
+ public async Task SiteSurveyRejectEmail(MimeMessage messageToSend)
+ {
+
+ //发件地址
+ messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
+
+ await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
+
+ }
+
//添加用户发送邮件
public async Task AddUserSendEmailAsync(Guid userId, string baseUrl, string routeUrl)
{
diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs
index 74fed2de4..7d6853590 100644
--- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs
+++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs
@@ -34,7 +34,7 @@ namespace IRaCIS.Core.Application.Contracts
private readonly IMailVerificationService _mailVerificationService;
public TrialSiteSurveyService(IRepository trialSiteSurveyRepository, IRepository trialUserRepository, IRepository trialSiteUserSurveyRepository,
- IRepository userRepository, IRepository trialSiteRepository,
+ IRepository userRepository, IRepository trialSiteRepository,
ITokenService tokenService,
IMailVerificationService mailVerificationService)
{
@@ -170,7 +170,7 @@ namespace IRaCIS.Core.Application.Contracts
if (latestLock!.Email != userInfo.ReplaceUserEmailOrPhone)
{
- return ResponseOutput.NotOk($"该邮箱{userInfo.ReplaceUserEmailOrPhone }对应的调查表不是最新锁定的记录,不允许更新!");
+ return ResponseOutput.NotOk($"该邮箱{userInfo.ReplaceUserEmailOrPhone}对应的调查表不是最新锁定的记录,不允许更新!");
}
var lockedLastSurvey = await _trialSiteSurveyRepository.Where(t => (t.Email == userInfo.ReplaceUserEmailOrPhone || t.Phone == userInfo.ReplaceUserEmailOrPhone) && t.SiteId == userInfo.SiteId && t.TrialId == userInfo.TrialId && t.State == TrialSiteSurveyEnum.PMCreatedAndLock == true)
@@ -323,7 +323,7 @@ namespace IRaCIS.Core.Application.Contracts
///
///
///
- [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task AddOrUpdateTrialSiteSurvey(TrialSiteSurveyAddOrEdit addOrEditTrialSiteSurvey)
{
@@ -466,9 +466,9 @@ namespace IRaCIS.Core.Application.Contracts
/// 驳回 New
///
///
- [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
- public async Task SubmissionRejection(TrialSiteSubmitBackCommand trialSiteSubmitBackCommand)
+ public async Task SubmissionRejection(TrialSiteSubmitBackCommand trialSiteSubmitBackCommand, [FromServices] IMailVerificationService _IMailVerificationService)
{
var trialSiteSurveyId = trialSiteSubmitBackCommand.TrialSiteSurveyId;
@@ -479,8 +479,6 @@ namespace IRaCIS.Core.Application.Contracts
User? user = null;
var messageToSend = new MimeMessage();
- //发件地址
- messageToSend.From.Add(new MailboxAddress("GRR", "iracis_grr@163.com"));
@@ -565,11 +563,13 @@ namespace IRaCIS.Core.Application.Contracts
);
}
-
messageToSend.Body = builder.ToMessageBody();
- await SendEmailHelper.SendEmailAsync(messageToSend, null);
+ await _IMailVerificationService.SiteSurveyRejectEmail(messageToSend);
+
+
+
await _trialSiteSurveyRepository.SaveChangesAsync();
@@ -617,7 +617,7 @@ namespace IRaCIS.Core.Application.Contracts
[HttpPut("{trialId:guid}/{trialSiteSurveyId:guid}")]
- [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task AbandonSiteSurvey(Guid trialSiteSurveyId)
{
@@ -645,7 +645,7 @@ namespace IRaCIS.Core.Application.Contracts
///
// [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
[HttpPost]
- [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
[UnitOfWork]
public async Task TrialSurveySubmit(TrialSiteSurvyeSubmitDTO siteSurvyeSubmit)
{
@@ -724,7 +724,7 @@ namespace IRaCIS.Core.Application.Contracts
saveItem.Code = _userRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
- saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(User));
+ saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(User));
saveItem.UserName = saveItem.UserCode;
@@ -756,7 +756,7 @@ namespace IRaCIS.Core.Application.Contracts
await _trialSiteUserSurveyRepository.SaveChangesAsync();
}
- [TypeFilter(typeof(TrialResourceFilter),Arguments = new object[] { "AfterStopCannNotOpt" })]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task SendSiteSurveyUserJoinEmail(TrialSiteUserSurveyJoinCommand joinCommand)
{
@@ -766,7 +766,7 @@ namespace IRaCIS.Core.Application.Contracts
foreach (var userInfo in joinCommand.UserList)
{
- if(userInfo.SystemUserId == null)
+ if (userInfo.SystemUserId == null)
{
throw new BusinessValidationFailedException("生成账户Id 未取到值,请排查");
}
@@ -776,13 +776,13 @@ namespace IRaCIS.Core.Application.Contracts
var siteId = trialSiteSurvey.SiteId;
await _mailVerificationService.SiteSurveyUserJoinEmail(trialId, userId, joinCommand.BaseUrl, joinCommand.RouteUrl);
-
+
//判断TrialUser中是否存在 不存在就插入
if (!await _trialUserRepository.AnyAsync(t => t.TrialId == trialId && t.UserId == userId, true))
{
- await _repository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId ,JoinTime=DateTime.Now});
+ await _repository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId, JoinTime = DateTime.Now });
await _repository.AddAsync(new TrialSiteUser() { TrialId = trialId, SiteId = siteId, UserId = userId });
@@ -790,7 +790,7 @@ namespace IRaCIS.Core.Application.Contracts
await _trialSiteUserSurveyRepository.UpdatePartialFromQueryAsync(t => t.Id == userInfo.Id, u => new TrialSiteUserSurvey() { IsJoin = true });
- }
+ }
}
await _trialSiteSurveyRepository.UpdatePartialFromQueryAsync(t => t.Id == trialSiteSurvey.Id && t.State == TrialSiteSurveyEnum.SPMApproved, u => new TrialSiteSurvey() { State = TrialSiteSurveyEnum.PMCreatedAndLock, ReviewerUserId = _userInfo.Id, ReviewerTime = DateTime.Now });
@@ -892,7 +892,7 @@ namespace IRaCIS.Core.Application.Contracts
smtp.MessageSent += (sender, args) =>
{
- _ = _trialSiteUserSurveyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new TrialSiteUserSurvey() { IsGenerateSuccess = true, InviteState = TrialSiteUserStateEnum.HasSend, ConfirmTime = null, RejectReason = String.Empty, SystemUserId = sysUserInfo.Id, ExpireTime = DateTime.Now.AddDays(7) }).Result;
+ _ = _trialSiteUserSurveyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new TrialSiteUserSurvey() { IsGenerateSuccess = true, InviteState = TrialSiteUserStateEnum.HasSend, ConfirmTime = null, RejectReason = String.Empty, SystemUserId = sysUserInfo.Id, ExpireTime = DateTime.Now.AddDays(7) }).Result;
};