feat: 扩展领域模型与配置
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using TakeoutSaaS.Domain.Analytics.Enums;
|
||||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.Analytics.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 指标告警规则。
|
||||
/// </summary>
|
||||
public sealed class MetricAlertRule : MultiTenantEntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 关联指标。
|
||||
/// </summary>
|
||||
public Guid MetricDefinitionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 触发条件 JSON。
|
||||
/// </summary>
|
||||
public string ConditionJson { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 告警级别。
|
||||
/// </summary>
|
||||
public MetricAlertSeverity Severity { get; set; } = MetricAlertSeverity.Warning;
|
||||
|
||||
/// <summary>
|
||||
/// 通知渠道。
|
||||
/// </summary>
|
||||
public string NotificationChannels { get; set; } = "email";
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用。
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; } = true;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.Analytics.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 指标定义,描述可观测的数据点。
|
||||
/// </summary>
|
||||
public sealed class MetricDefinition : MultiTenantEntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 指标编码。
|
||||
/// </summary>
|
||||
public string Code { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 指标名称。
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 说明。
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 维度描述 JSON。
|
||||
/// </summary>
|
||||
public string? DimensionsJson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认聚合方式。
|
||||
/// </summary>
|
||||
public string DefaultAggregation { get; set; } = "sum";
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.Analytics.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 指标快照,用于大盘展示。
|
||||
/// </summary>
|
||||
public sealed class MetricSnapshot : MultiTenantEntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 指标定义 ID。
|
||||
/// </summary>
|
||||
public Guid MetricDefinitionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 维度键(JSON)。
|
||||
/// </summary>
|
||||
public string DimensionKey { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 统计时间窗口开始。
|
||||
/// </summary>
|
||||
public DateTime WindowStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 统计时间窗口结束。
|
||||
/// </summary>
|
||||
public DateTime WindowEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数值。
|
||||
/// </summary>
|
||||
public decimal Value { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace TakeoutSaaS.Domain.Analytics.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// 指标告警严重程度。
|
||||
/// </summary>
|
||||
public enum MetricAlertSeverity
|
||||
{
|
||||
/// <summary>
|
||||
/// 信息提示。
|
||||
/// </summary>
|
||||
Info = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 告警。
|
||||
/// </summary>
|
||||
Warning = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 严重。
|
||||
/// </summary>
|
||||
Critical = 2
|
||||
}
|
||||
Reference in New Issue
Block a user