项目邮件配置修改--008
parent
e46b51d6a1
commit
e24933f0dd
|
@ -602,6 +602,13 @@
|
||||||
<param name="trialId"></param>
|
<param name="trialId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.GetTrialUserIdSelectList(System.Guid)">
|
||||||
|
<summary>
|
||||||
|
黑名单用户Id 列表
|
||||||
|
</summary>
|
||||||
|
<param name="trialId"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)">
|
||||||
<summary> 指定资源Id,渲染Dicom检查的Jpeg预览图像 </summary>
|
<summary> 指定资源Id,渲染Dicom检查的Jpeg预览图像 </summary>
|
||||||
<param name="studyId"> Dicom检查的Id </param>
|
<param name="studyId"> Dicom检查的Id </param>
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
CreateMap<EmailNoticeConfigAddOrEdit, EmailNoticeConfig>().ReverseMap();
|
CreateMap<EmailNoticeConfigAddOrEdit, EmailNoticeConfig>().ReverseMap();
|
||||||
|
|
||||||
|
|
||||||
CreateMap<EmailUserType, EmailUserTypeDto>();
|
CreateMap<EmailNoticeUserType, EmailUserTypeDto>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,8 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public string EmailHtmlContentCN { get; set; } = string.Empty;
|
public string EmailHtmlContentCN { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
public List<Guid> BlackUserIdList { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
|
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
|
||||||
|
|
||||||
|
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
|
private readonly IRepository<TrialEmailBlackUser> _trialEmailBlackUserRepository;
|
||||||
|
|
||||||
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
||||||
|
|
||||||
|
@ -46,7 +48,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository, IRepository<VisitTask> visitTaskRepository,
|
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository, IRepository<VisitTask> visitTaskRepository,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
IRepository<TrialUser> trialUserRepository, IRepository<TaskMedicalReview> taskMedicalReviewRepository, IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository)
|
IRepository<TrialUser> trialUserRepository, IRepository<TaskMedicalReview> taskMedicalReviewRepository, IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository, IRepository<TrialEmailBlackUser> trialEmailBlackUserRepository)
|
||||||
{
|
{
|
||||||
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
|
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
|
||||||
_visitTaskRepository = visitTaskRepository;
|
_visitTaskRepository = visitTaskRepository;
|
||||||
|
@ -56,6 +58,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
_subjectRepository = subjectRepository;
|
_subjectRepository = subjectRepository;
|
||||||
|
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
|
_trialEmailBlackUserRepository = trialEmailBlackUserRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1503,6 +1506,20 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 黑名单用户Id 列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="trialId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<Guid>> GetTrialUserIdSelectList(Guid trialId)
|
||||||
|
{
|
||||||
|
var query = _trialUserRepository.Where(t => t.TrialId == trialId, false, true).IgnoreQueryFilters().Select(t => t.UserId).Distinct();
|
||||||
|
|
||||||
|
return await query.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
||||||
{
|
{
|
||||||
|
@ -1541,6 +1558,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
|
||||||
|
{
|
||||||
|
entity.TrialEmailBlackUserList.Add(new TrialEmailBlackUser() { UserId = userid });
|
||||||
|
}
|
||||||
|
|
||||||
await _trialEmailNoticeConfigRepository.AddAsync(entity, true);
|
await _trialEmailNoticeConfigRepository.AddAsync(entity, true);
|
||||||
|
|
||||||
|
@ -1549,10 +1570,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var id = (Guid)addOrEditTrialEmailNoticeConfig.Id;
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<TrialEmailNoticeUser>(t => t.TrialEmailNoticeConfigId == addOrEditTrialEmailNoticeConfig.Id);
|
await _repository.BatchDeleteAsync<TrialEmailNoticeUser>(t => t.TrialEmailNoticeConfigId == addOrEditTrialEmailNoticeConfig.Id);
|
||||||
|
await _repository.BatchDeleteAsync<TrialEmailBlackUser>(t => t.TrialEmailNoticeConfigId == addOrEditTrialEmailNoticeConfig.Id);
|
||||||
|
|
||||||
var entity = (await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id, true, true).Include(t => t.TrialEmailNoticeUserList).FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
|
|
||||||
List<TrialEmailNoticeUser> trialEmailNoticeUsers = new List<TrialEmailNoticeUser>();
|
List<TrialEmailNoticeUser> trialEmailNoticeUsers = new List<TrialEmailNoticeUser>();
|
||||||
|
@ -1560,17 +1581,23 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
foreach (var item in addOrEditTrialEmailNoticeConfig.ToUserTypeList)
|
foreach (var item in addOrEditTrialEmailNoticeConfig.ToUserTypeList)
|
||||||
{
|
{
|
||||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.To, UserType = item, TrialEmailNoticeConfigId = entity.Id });
|
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.To, UserType = item, TrialEmailNoticeConfigId = id });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var item in addOrEditTrialEmailNoticeConfig.CopyUserTypeList)
|
foreach (var item in addOrEditTrialEmailNoticeConfig.CopyUserTypeList)
|
||||||
{
|
{
|
||||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = entity.Id });
|
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = id });
|
||||||
|
|
||||||
}
|
}
|
||||||
await _repository.AddRangeAsync(trialEmailNoticeUsers);
|
await _repository.AddRangeAsync(trialEmailNoticeUsers);
|
||||||
|
|
||||||
|
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
|
||||||
|
{
|
||||||
|
await _trialEmailBlackUserRepository.AddAsync(new TrialEmailBlackUser() { UserId = userid, TrialEmailNoticeConfigId = id });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
await _trialEmailNoticeConfigRepository.UpdateFromDTOAsync(addOrEditTrialEmailNoticeConfig);
|
await _trialEmailNoticeConfigRepository.UpdateFromDTOAsync(addOrEditTrialEmailNoticeConfig);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
CreateMap<TrialEmailNoticeConfig, TrialEmailNoticeConfigView>()
|
CreateMap<TrialEmailNoticeConfig, TrialEmailNoticeConfigView>()
|
||||||
|
|
||||||
.ForMember(d => d.TrialCriterionName, c => c.MapFrom(t => t.TrialReadingCriterion.CriterionName))
|
.ForMember(d => d.TrialCriterionName, c => c.MapFrom(t => t.TrialReadingCriterion.CriterionName))
|
||||||
.ForMember(d => d.TrialEmailNoticeUserList, c => c.MapFrom(t => t.TrialEmailNoticeUserList));
|
.ForMember(d => d.TrialEmailNoticeUserList, c => c.MapFrom(t => t.TrialEmailNoticeUserList))
|
||||||
|
.ForMember(d => d.BlackUserIdList, c => c.MapFrom(t => t.TrialEmailBlackUserList.Select(c=>c.UserId)));
|
||||||
|
|
||||||
CreateMap<TrialEmailNoticeConfigAddOrEdit, TrialEmailNoticeConfig>();
|
CreateMap<TrialEmailNoticeConfigAddOrEdit, TrialEmailNoticeConfig>();
|
||||||
|
|
||||||
|
|
|
@ -36,10 +36,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public string FromEmail { get; set; } = string.Empty;
|
public string FromEmail { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
public List<TrialEmailNoticeUser> TrialEmailNoticeUserList { get; set; } = new List<TrialEmailNoticeUser>();
|
public List<TrialEmailNoticeUser> TrialEmailNoticeUserList { get; set; } = new List<TrialEmailNoticeUser>();
|
||||||
|
|
||||||
|
public List<TrialEmailBlackUser> TrialEmailBlackUserList { get; set; } = new List<TrialEmailBlackUser>();
|
||||||
|
|
||||||
|
|
||||||
/// <summary> 业务模块 /// </summary>
|
/// <summary> 业务模块 /// </summary>
|
||||||
|
@ -80,7 +80,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Guid? SysEmailNoticeConfigId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[Required]
|
[Required]
|
||||||
|
@ -118,4 +118,19 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TrialEmailBlackUser:Entity
|
||||||
|
{
|
||||||
|
[JsonIgnore]
|
||||||
|
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public User User { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public Guid TrialEmailNoticeConfigId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -755,6 +755,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
public virtual DbSet<PIAudit> PIAudit { get; set; }
|
public virtual DbSet<PIAudit> PIAudit { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<EmailNoticeUserType> EmailNoticeUserType { get; set; }
|
public virtual DbSet<EmailNoticeUserType> EmailNoticeUserType { get; set; }
|
||||||
|
public virtual DbSet<TrialEmailBlackUser> TrialEmailBlackUser { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue