From ed1f16fa9c4b65f91ea38fa7efb8df69afa80e08 Mon Sep 17 00:00:00 2001 From: lucas Date: Sun, 31 Aug 2025 22:44:07 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=20=E9=81=BF=E5=85=8D=E4=B8=8D=E9=80=9A=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E5=8F=AF=E8=83=BD=E7=9A=84=E5=BD=B1=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- consumers/consumerAxySkAlarm.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/consumers/consumerAxySkAlarm.go b/consumers/consumerAxySkAlarm.go index 7144cfc..f177619 100644 --- a/consumers/consumerAxySkAlarm.go +++ b/consumers/consumerAxySkAlarm.go @@ -60,7 +60,6 @@ func (the *consumerAxySkAlarm) Initial(cfg string) error { if err != nil { return err } - the.historyStationAlarmMap = make(map[string]AXY_SK.HistoryAlarm) err = the.monitorInitial() return err } @@ -208,7 +207,8 @@ func (the *consumerAxySkAlarm) judgeSK() string { trigger.StructId, trigger.FactorId, level) onceTriggerStationAlarmMap[sid] = conditionStr //判断历史有没有 - if hv, ok := the.historyStationAlarmMap[sid]; ok { + hisK := fmt.Sprintf("%s_%s", sid, fmt.Sprintf("3077000%d", level)) + if hv, ok := the.historyStationAlarmMap[hisK]; ok { if hv.AlarmLevel < level { //低等级告警过滤 log.Printf("测点[%s]本次触发 level=[%d] > 历史有效等级%d,不再重复触发", sid, level, hv.AlarmLevel) continue @@ -225,8 +225,8 @@ func (the *consumerAxySkAlarm) judgeSK() string { } } //纪录历史告警 - log.Printf("trigger.Id=%d, 测点[%s]本次触发双控,时刻[%s]level=%d", trigger.Id, sid, alarmTime.Format("2006-01-02 15:04:05"), level) - the.historyStationAlarmMap[sid] = AXY_SK.HistoryAlarm{ + log.Printf("trigger.Id=%d, 测点[%s]本次触发双控,%s,时刻[%s]level=%d", trigger.Id, sid, hisK, alarmTime.Format("2006-01-02 15:04:05"), level) + the.historyStationAlarmMap[hisK] = AXY_SK.HistoryAlarm{ SourceId: sid, AlarmLevel: level, Time: alarmTime, @@ -235,17 +235,16 @@ func (the *consumerAxySkAlarm) judgeSK() string { payload := the.skAlarmInfo(alarmInfoTemplate, level, detail, alarmTime, triggerTypeCodes) the.OutKafka.Publish(the.Info.IoConfig.Out.Kafka.AlarmTopic, payload) } else { + hisK := fmt.Sprintf("%s_%s", sid, fmt.Sprintf("3077000%d", trigger.AlarmLevel)) if level == 0 { - if v, ok := the.historyStationAlarmMap[sid]; ok { - level = v.AlarmLevel - } + level = trigger.AlarmLevel } - if _, ok := the.historyStationAlarmMap[sid]; ok { - log.Printf("trigger.Id=%d, 测点[%s]本次 恢复双控,时刻[%s]level=%d", trigger.Id, sid, alarmTime.Format("2006-01-02 15:04:05"), level) + if v, ok := the.historyStationAlarmMap[hisK]; ok { + log.Printf("trigger.Id=%d, 测点[%s]本次 恢复双控%s,时刻[%s]level=%d", trigger.Id, sid, hisK, v.Time.Format("2006-01-02 15:04:05"), level) payload := the.skAlarmElimination(alarmInfoTemplate, level, detail) the.OutKafka.Publish(the.Info.IoConfig.Out.Kafka.AlarmTopic, payload) - delete(the.historyStationAlarmMap, sid) + delete(the.historyStationAlarmMap, hisK) } } } @@ -386,12 +385,13 @@ func (the *consumerAxySkAlarm) updateEsAlarmTriggerHistory(structId int) { } the.historyStationAlarmMap = make(map[string]AXY_SK.HistoryAlarm) for _, alarm := range alarms { - the.historyStationAlarmMap[alarm.SourceId] = AXY_SK.HistoryAlarm{ + hisK := fmt.Sprintf("%s_%s", alarm.SourceId, alarm.AlarmCode) + the.historyStationAlarmMap[hisK] = AXY_SK.HistoryAlarm{ SourceId: alarm.SourceId, Time: alarm.EndTime, AlarmLevel: alarm.CurrentLevel, } - log.Printf("加载双控历史告警 SourceId=%s,time=%v", alarm.SourceId, alarm.EndTime) + log.Printf("加载双控历史告警 hisK=%s,time=%v", hisK, alarm.EndTime) } log.Printf("双控历史告警 共 %d条", len(the.historyStationAlarmMap)) }