feat: 添加网元重启后清除活动告警和补发启动任务的逻辑

This commit is contained in:
TsMask
2025-05-12 19:08:05 +08:00
parent 73958f4333
commit 1ccbebce22

View File

@@ -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)