修改int64

This commit is contained in:
TsMask
2023-08-24 17:01:11 +08:00
parent 3ca7e61e53
commit c444e9f4fa

View File

@@ -1,6 +1,7 @@
package manage
import (
"encoding/json"
"errors"
"omc/core/consts"
"omc/core/db"
@@ -23,7 +24,7 @@ type ChannelManager struct {
BindFlag string //bind 的网元标识ne_type#ne_id 格式
Province string //网元所在省份
DeviceCode string //主机编码 四位每1位可用0-9、A-Z编码
AlarmSeq int32 //当前告警的序列号
AlarmSeq int64 //当前告警的序列号
pLock sync.RWMutex //保护User的互斥读写机制
}
@@ -162,23 +163,22 @@ func (wm *ChannelManager) RealTimeAlarm() {
for {
wm.pLock.RLock()
//查询
var newAlarmSeq = wm.AlarmSeq
var alarms []service.OmcAlarm
var alarms []model.OmcAlarm
neBind, _ := parse.ConvertBindFlag(wm.BindFlag)
var lastAlarmSeq = wm.AlarmSeq
if wm.AlarmSeq == 0 {
newAlarmSeq = service.GetLastAlarmSeq(neBind.NeType, neBind.NeId)
lastAlarmSeq = service.LastAlarmSeq(neBind.NeType, neBind.NeId)
} else {
ams, err := service.GetRealTimeAlarm(neBind.NeType, neBind.NeId, wm.AlarmSeq)
list, err := service.List(neBind.NeType, neBind.NeId, wm.AlarmSeq)
if err != nil {
zlog.Ins().ErrorF("db error %s", err)
}
alarms = ams
alarms = service.ConvertOMCAlarm(list)
}
//上报实时告警信息
if len(alarms) > 0 {
go wm.SendAlarm(alarms)
newAlarmSeq = service.MaxAlarm(newAlarmSeq, alarms) + 1
lastAlarmSeq = service.MaxAlarmSeq(lastAlarmSeq, alarms)
}
var users []string
for _, user := range wm.User {
@@ -189,7 +189,7 @@ func (wm *ChannelManager) RealTimeAlarm() {
}
//更新AlarmSeq
wm.AlarmSeq = newAlarmSeq
wm.AlarmSeq = lastAlarmSeq + 1
wm.pLock.RUnlock()
//记录日志到alarm 日志表
@@ -205,10 +205,8 @@ func (wm *ChannelManager) RealTimeAlarm() {
alarmLog.NeId = v.NeUID
alarmLog.AlarmSeq = int64(v.AlarmSeq)
alarmLog.AlarmId = v.AlarmId
et, _ := time.Parse("2006-01-02 15:04:05", v.EventTime)
alarmLog.EventTime = et
alarmLog.EventTime = v.EventTime
alarmLog.LogTime = time.Now()
alarmLog.AId = v.AId
db.Client.Create(&alarmLog)
}
@@ -217,18 +215,22 @@ func (wm *ChannelManager) RealTimeAlarm() {
}
}
func (wm *ChannelManager) SendAlarm(alarms []service.OmcAlarm) error {
func (wm *ChannelManager) SendAlarm(alarms []model.OmcAlarm) error {
for _, v := range alarms {
//生产告警内容
data := service.GenAlarm(v)
data, err := json.Marshal(v)
if err != nil {
zlog.Ins().ErrorF("SendAlarm json Marshalerror %v", err)
} else {
//发送告警内容
wm.Talk(0, data)
}
}
return nil
}
func (wm *ChannelManager) UpdateAlarmSeq(newSeq int32) {
func (wm *ChannelManager) UpdateAlarmSeq(alarmSeq int64) {
wm.pLock.Lock()
wm.AlarmSeq = newSeq
wm.AlarmSeq = alarmSeq
wm.pLock.Unlock()
}