using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Domain.Models; [Comment("后台 - 邮件配置表表(需要同步)")] [Table("EmailNoticeConfig")] public class EmailNoticeConfig : BaseFullDeleteAuditEntity { #region 导航属性 [JsonIgnore] public List TrialEmailNoticeConfigList { get; set; } [JsonIgnore] public List EmailNoticeUserTypeList { get; set; } = new List(); #endregion public string AttachCNPath { get; set; } = null!; public string AttachName { get; set; } = null!; public string AttachNameCN { get; set; } = null!; public string AttachPath { get; set; } = null!; [Comment("业务级别")] public BusinessLevel BusinessLevelEnum { get; set; } [Comment("业务模块")] public BusinessModule BusinessModuleEnum { get; set; } [Comment("业务场景")] public EmailBusinessScenario BusinessScenarioEnum { get; set; } public string Code { get; set; } = null!; public string Description { get; set; } = null!; [Comment("发送周期")] public string EmailCron { get; set; } = null!; [Comment("邮件延时秒数,比如一个事件触发,延迟多少s后才发邮件")] public int? EmailDelaySeconds { get; set; } = null!; [MaxLength] public string EmailHtmlContent { get; set; } = null!; [MaxLength] public string EmailHtmlContentCN { get; set; } = null!; public string EmailTopic { get; set; } = null!; public string EmailTopicCN { get; set; } = null!; [Comment("加急枚举")] public int EmailUrgentEnum { get; set; } [Comment("是否自动发送")] public bool IsAutoSend { get; set; } [Comment("是否区分标准")] public bool IsDistinguishCriteria { get; set; } public bool IsEnable { get; set; } [Comment("是否需要回执")] public bool IsReturnRequired { get; set; } public SysEmailLevel SystemLevel { get; set; } [Comment("标准枚举--后续废弃,这里可以选择多个标准")] public CriterionType? CriterionTypeEnum { get; set; } [Comment("邮件配置的多个标准")] public List? CriterionTypeList { get; set; } } [Comment("后台 - 邮件配置用户类型表(需要同步)")] [Table("EmailNoticeUserType")] public class EmailNoticeUserType : Entity { [JsonIgnore] public EmailNoticeConfig EmailNoticeConfig { get; set; } public Guid EmailNoticeConfigId { get; set; } public UserTypeEnum UserType { get; set; } public EmailUserType EmailUserType { get; set; } } public enum BusinessLevel { Default=0, System=1, //需要手动添加到项目的邮件 Trial=2, //项目默认发送的邮件,不需要手动添加到项目 TrialDefault=3 } public enum BusinessModule { /// /// 影像质控 /// ImageQualityControl = 1, /// /// 影像阅片 /// ImageReading = 2, /// /// 系统登录 /// Login = 4, /// /// 后台邮件 /// BackstageEmail = 5, /// /// 账号信息 /// UserAccount = 6, /// /// 中心调研 /// SiteSurvey = 7, /// /// 阅片人管理 /// ReviewerManagement = 8, /// /// 问题反馈 /// UsersSuggestions = 9, /// /// 入组确认 /// EligibilityVerification = 10, /// /// PD确认 /// PDVerification = 11, /// /// 医学反馈 /// MedicalQC = 13, /// /// 入组/PD确认 /// Eligibility_PDVerification = 12, }