系统邮件配置预先修改-002

Uat_Study
hang 2023-08-21 15:28:26 +08:00
parent e03e93b0f5
commit 13263cf39c
5 changed files with 68 additions and 6 deletions

View File

@ -227,7 +227,7 @@
</member>
<member name="M:IRaCIS.Core.API.Controllers.UploadDownLoadController.Upload(IRaCIS.Core.API.Controllers.UploadDownLoadController.UploadFileType)">
<summary>
数据上传、导出、 邮件附件 、邮件Html 通过 ----new
1数据上传 2导出、 3邮件附件 4邮件Html 通过 ----new
</summary>
<returns></returns>
</member>

View File

@ -103,9 +103,15 @@ namespace IRaCIS.Core.Application.Contracts
public string EmailHtmlName { get; set; }
public string EmailHtmlNameCN { get; set; }
public List<UserTypeEnum> ToUserTypeList { get; set; }
public List<UserTypeEnum> CopyUserTypeList { get; set; }
}
}

View File

@ -17,10 +17,12 @@ namespace IRaCIS.Core.Application.Contracts
public class EmailNoticeConfigService : BaseService, IEmailNoticeConfigService
{
private readonly IRepository<EmailNoticeConfig> _emailNoticeConfigrepository;
private readonly IRepository<EmailNoticeUserType> _emailNoticeUserTypeRepository;
public EmailNoticeConfigService(IRepository<EmailNoticeConfig> repository)
public EmailNoticeConfigService(IRepository<EmailNoticeConfig> repository, IRepository<EmailNoticeUserType> emailNoticeUserTypeRepository)
{
_emailNoticeConfigrepository = repository;
_emailNoticeUserTypeRepository = emailNoticeUserTypeRepository;
}
[HttpPost]
@ -38,10 +40,55 @@ namespace IRaCIS.Core.Application.Contracts
public async Task<IResponseOutput> AddOrUpdateEmailNoticeConfig(EmailNoticeConfigAddOrEdit addOrEditEmailNoticeConfig)
{
var entity = await _emailNoticeConfigrepository.InsertOrUpdateAsync(addOrEditEmailNoticeConfig, true);
if (addOrEditEmailNoticeConfig.Id == null)
{
var entity = _mapper.Map<EmailNoticeConfig>(addOrEditEmailNoticeConfig);
foreach (var item in addOrEditEmailNoticeConfig.ToUserTypeList)
{
entity.EmailNoticeUserTypeList.Add(new EmailNoticeUserType() { EmailUserType = EmailUserType.To, UserType = item });
}
foreach (var item in addOrEditEmailNoticeConfig.CopyUserTypeList)
{
entity.EmailNoticeUserTypeList.Add(new EmailNoticeUserType() { EmailUserType = EmailUserType.Copy, UserType = item });
}
await _emailNoticeConfigrepository.AddAsync(entity, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
else
{
var emailNoticeConfigId = addOrEditEmailNoticeConfig.Id;
await _emailNoticeUserTypeRepository.BatchDeleteNoTrackingAsync(t => t.EmailNoticeConfigId == emailNoticeConfigId);
foreach (var item in addOrEditEmailNoticeConfig.ToUserTypeList)
{
await _emailNoticeUserTypeRepository.AddAsync(new EmailNoticeUserType() { EmailUserType = EmailUserType.To, UserType = item,EmailNoticeConfigId= (Guid)emailNoticeConfigId });
}
foreach (var item in addOrEditEmailNoticeConfig.CopyUserTypeList)
{
await _emailNoticeUserTypeRepository.AddAsync(new EmailNoticeUserType() { EmailUserType = EmailUserType.Copy, UserType = item, EmailNoticeConfigId = (Guid)emailNoticeConfigId });
}
var entity = await _emailNoticeConfigrepository.UpdateFromDTOAsync(addOrEditEmailNoticeConfig, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
return ResponseOutput.Ok(entity.Id.ToString());
}

View File

@ -20,6 +20,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap<FrontAuditConfig, FrontAuditConfigAddOrEdit>().ReverseMap();
CreateMap<EmailNoticeConfigAddOrEdit, EmailNoticeConfig>().ReverseMap();
CreateMap<EmailNoticeConfig, EmailNoticeConfigView>();
CreateMap<Dictionary, DicView>()

View File

@ -18,6 +18,8 @@ namespace IRaCIS.Core.Domain.Models
[Table("EmailNoticeConfig")]
public class EmailNoticeConfig : Entity, IAuditUpdate, IAuditAdd,ISoftDelete
{
[JsonIgnore]
public List<EmailNoticeUserType> EmailNoticeUserTypeList { get; set; }
public string Code { get; set; } = String.Empty;
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
@ -63,6 +65,9 @@ namespace IRaCIS.Core.Domain.Models
public string EmailHtmlNameCN { get; set; }
/// <summary>
/// 是否区分标准
/// </summary>
@ -103,7 +108,7 @@ namespace IRaCIS.Core.Domain.Models
[Table("EmailNoticeUserType")]
public class EmailNoticeUserType
public class EmailNoticeUserType:Entity
{
[JsonIgnore]
public EmailNoticeConfig EmailNoticeConfig { get; set; }