搭建消息告警模块以及跨网推送服务,支持企微,飞书,钉钉通知
This commit is contained in:
@@ -0,0 +1,221 @@
|
||||
namespace Model.Entity.Inspection
|
||||
{
|
||||
/// <summary>
|
||||
/// 告警级别(与规则引擎 AlertRuleEntity.AlarmLevel 字符串"信息/警告/紧急"保持一致)
|
||||
/// </summary>
|
||||
public enum AlertLevelEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 信息
|
||||
/// </summary>
|
||||
Info = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 警告
|
||||
/// </summary>
|
||||
Warning = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 紧急
|
||||
/// </summary>
|
||||
Urgent = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 告警状态(闭环流转:未确认 → 已确认 → 已处理 → 已关闭;可忽略/转工单)
|
||||
/// </summary>
|
||||
public enum AlertStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 未确认
|
||||
/// </summary>
|
||||
Unacknowledged = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 已确认
|
||||
/// </summary>
|
||||
Acknowledged = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 已处理
|
||||
/// </summary>
|
||||
Handled = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 已关闭
|
||||
/// </summary>
|
||||
Closed = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 已忽略
|
||||
/// </summary>
|
||||
Ignored = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 已转工单
|
||||
/// </summary>
|
||||
ToWorkOrder = 6
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 告警来源(标识上报模块,便于其它模块调用与统计)
|
||||
/// </summary>
|
||||
public enum AlertSourceEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 规则引擎
|
||||
/// </summary>
|
||||
RuleEngine = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 自动巡检
|
||||
/// </summary>
|
||||
AutoPatrol = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 数据看板
|
||||
/// </summary>
|
||||
Dashboard = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 数据采集
|
||||
/// </summary>
|
||||
Collection = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 手动/API 上报
|
||||
/// </summary>
|
||||
Manual = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 其它
|
||||
/// </summary>
|
||||
Other = 99
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 告警类型
|
||||
/// </summary>
|
||||
public enum AlertTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 阈值超限
|
||||
/// </summary>
|
||||
ThresholdExceed = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 设备离线
|
||||
/// </summary>
|
||||
DeviceOffline = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 通讯故障
|
||||
/// </summary>
|
||||
CommFault = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 巡检异常
|
||||
/// </summary>
|
||||
PatrolAbnormal = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 自定义
|
||||
/// </summary>
|
||||
Custom = 99
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通知渠道类型(一期仅支持飞书/钉钉/企微 Webhook 机器人)
|
||||
/// </summary>
|
||||
public enum NotifyChannelTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 飞书
|
||||
/// </summary>
|
||||
Feishu = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 钉钉
|
||||
/// </summary>
|
||||
DingTalk = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 企业微信
|
||||
/// </summary>
|
||||
WeCom = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 渠道推送模式
|
||||
/// </summary>
|
||||
public enum NotifyPushModeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 直连推送(服务器可直接访问外网 Webhook)
|
||||
/// </summary>
|
||||
Direct = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Outbox 中转(跨网场景:内网写发件箱,跳板机 AlertBridge 拉取后在外网推送)
|
||||
/// </summary>
|
||||
Outbox = 2
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 跨网发件箱状态
|
||||
/// </summary>
|
||||
public enum OutboxStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 待推送
|
||||
/// </summary>
|
||||
Pending = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 已拉取(跳板机取走,等待回写结果)
|
||||
/// </summary>
|
||||
Pulled = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 推送成功
|
||||
/// </summary>
|
||||
Success = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 推送失败
|
||||
/// </summary>
|
||||
Failed = 4
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 告警级别枚举 ↔ 规则引擎字符串 映射工具
|
||||
/// </summary>
|
||||
public static class AlertLevelMap
|
||||
{
|
||||
/// <summary>
|
||||
/// 字符串(信息/警告/紧急)→ 枚举,无法识别时默认 Info
|
||||
/// </summary>
|
||||
public static AlertLevelEnum FromString(string level)
|
||||
{
|
||||
return level?.Trim() switch
|
||||
{
|
||||
"警告" => AlertLevelEnum.Warning,
|
||||
"紧急" => AlertLevelEnum.Urgent,
|
||||
_ => AlertLevelEnum.Info
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 枚举 → 字符串(信息/警告/紧急)
|
||||
/// </summary>
|
||||
public static string ToLabel(AlertLevelEnum level)
|
||||
{
|
||||
return level switch
|
||||
{
|
||||
AlertLevelEnum.Warning => "警告",
|
||||
AlertLevelEnum.Urgent => "紧急",
|
||||
_ => "信息"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user