From 1ccbebce2234e056b84ef841c9d1fb7fe5aff96f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 12 May 2025 19:08:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=BD=91=E5=85=83?= =?UTF-8?q?=E9=87=8D=E5=90=AF=E5=90=8E=E6=B8=85=E9=99=A4=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E5=92=8C=E8=A1=A5=E5=8F=91=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/fm/alarm.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/features/fm/alarm.go b/features/fm/alarm.go index e876279b..5a376527 100644 --- a/features/fm/alarm.go +++ b/features/fm/alarm.go @@ -16,6 +16,7 @@ import ( "be.ems/lib/log" "be.ems/lib/services" + "be.ems/src/framework/constants" "be.ems/src/framework/resp" "be.ems/src/framework/utils/date" neDataModel "be.ems/src/modules/network_data/model" @@ -23,6 +24,7 @@ import ( neFetchlink "be.ems/src/modules/network_element/fetch_link" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + traceService "be.ems/src/modules/trace/service" wsService "be.ems/src/modules/ws/service" ) @@ -386,7 +388,7 @@ func alarmForward(v Alarm) { } } -// alarmEventNew 清除告警事件 +// alarmEventClear 清除告警事件 func alarmEventClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, error) { alarmEventService := neDataService.NewAlarmEvent // 检查网元告警ID是否唯一 @@ -469,6 +471,22 @@ func alarmEventNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, erro insertId := alarmEventService.Insert(alarmEvent) if insertId > 0 { alarmEvent.ID = insertId + // 网元重启后,清除活动告警 + if v.AlarmCode == constants.ALARM_EVENT_REBOOT { + alarmService := neDataService.NewAlarm + rows := alarmService.Find(neDataModel.Alarm{ + NeType: neInfo.NeType, + NeId: neInfo.NeId, + AlarmStatus: "1", + }) + for _, v := range rows { + alarmService.AlarmClearByIds([]int64{v.ID}, "system") + } + } + // 网元重启后,有跟踪任务的需要重新补发启动任务 + if v.AlarmCode == constants.ALARM_EVENT_REBOOT { + traceService.NewTraceTask.RunUnstopped() + } return alarmEvent, nil } return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] new alarm event fail", neInfo.NeType, neInfo.NeId)