using SJZY.Track.Domain.Enums; using Volo.Abp; namespace SJZY.Track.Domain.Aggregates.ForewarningAggregate; [SugarTable("t_warning")] public class WarningEntity: IFullAuditedBasicEntitys, IAggregateRoot { /// /// 自增主键 /// [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } /// /// 子系统id /// [SugarColumn(ColumnName = "SubSystemId")] public int SubSystemId { get; set; } /// /// 客户id /// [SugarColumn(ColumnName = "CustomerId")] public int CustomerId { get; set; } /// /// 规则模板名称,KPI名称 /// [SugarColumn(ColumnName = "Name")] public string Name { get; set; } = null!; /// /// 因素类型排序 /// [SugarColumn(ColumnName = "FactorTypeSort")] public string FactorTypeSort { get; set; } = null!; /// /// 是否启用,默认否 /// [SugarColumn(ColumnName = "IsEnable")] public bool IsEnable { get; set; } /// /// 预警规则 /// [SugarColumn(IsIgnore = true)] public List WarningRules { get; set; } = new(); /// /// 预警因素 /// [SugarColumn(IsIgnore = true)] public List WarningFactors { get; set; } = new(); public void SetName(string name) { Name = name; } public void SetEnable(bool isEnable) { if (IsEnable == isEnable) { throw new BusinessException(message: $"预警已经是{(isEnable ? "启用" : "禁用")}状态"); } IsEnable = isEnable; } }