fix: 修改网元告警ID为RmUID,时间字段导致插入错误

This commit is contained in:
TsMask
2025-05-23 19:56:07 +08:00
parent a553096614
commit 1c1e0bae52
5 changed files with 47 additions and 42 deletions

View File

@@ -77,7 +77,7 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) {
// 检查网元告警ID是否唯一
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
NeType: neInfo.NeType,
NeId: neInfo.NeId,
NeId: neInfo.RmUID,
AlarmId: params.AlarmId,
})
// 告警状态
@@ -122,8 +122,9 @@ func (s NeAlarmStateCheckProcessor) alarmClear(neInfo neModel.NeInfo, v neDataMo
v.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
v.AlarmStatus = "0"
// 告警清除
clearTime := time.UnixMilli(neInfo.UpdateTime)
v.ClearType = "1"
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
v.ClearTime = &clearTime
v.ClearUser = "system"
rows := s.alarmService.Update(v)
if rows > 0 {
@@ -135,7 +136,7 @@ func (s NeAlarmStateCheckProcessor) alarmClear(neInfo neModel.NeInfo, v neDataMo
// alarmNew 新增告警
func (s NeAlarmStateCheckProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
// seq 告警序号
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
lastTime := neInfo.UpdateTime // 网元最后更新时间
if lastTime < neInfo.CreateTime {
lastTime = time.Now().UnixMilli()

View File

@@ -114,7 +114,7 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
// 检查网元告警ID是否唯一
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
NeType: neInfo.NeType,
NeId: neInfo.NeId,
NeId: neInfo.RmUID,
AlarmId: params.AlarmId,
})
// 告警状态, 存在的需要手动清除
@@ -267,8 +267,9 @@ func (s NeAlarmStateCheckCMDProcessor) alarmClear(neInfo neModel.NeInfo, v neDat
v.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
v.AlarmStatus = "0"
// 告警清除
clearTime := time.UnixMilli(neInfo.UpdateTime)
v.ClearType = "1"
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
v.ClearTime = &clearTime
v.ClearUser = "system"
rows := s.alarmService.Update(v)
if rows > 0 {
@@ -280,7 +281,7 @@ func (s NeAlarmStateCheckCMDProcessor) alarmClear(neInfo neModel.NeInfo, v neDat
// alarmNew 新增告警
func (s NeAlarmStateCheckCMDProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
// seq 告警序号
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
lastTime := neInfo.UpdateTime // 网元最后更新时间
if lastTime < neInfo.CreateTime {
lastTime = time.Now().UnixMilli()

View File

@@ -98,7 +98,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
// 检查网元告警ID是否唯一
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
NeType: neInfo.NeType,
NeId: neInfo.NeId,
NeId: neInfo.RmUID,
AlarmId: params.AlarmId,
})
// 告警状态, 存在的需要手动清除
@@ -170,8 +170,9 @@ func (s NeAlarmStateCheckLicenseProcessor) alarmClear(neInfo neModel.NeInfo, v n
v.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
v.AlarmStatus = "0"
// 告警清除
clearTime := time.UnixMilli(neInfo.UpdateTime)
v.ClearType = "1"
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
v.ClearTime = &clearTime
v.ClearUser = "system"
rows := s.alarmService.Update(v)
if rows > 0 {
@@ -183,7 +184,7 @@ func (s NeAlarmStateCheckLicenseProcessor) alarmClear(neInfo neModel.NeInfo, v n
// alarmNew 新增告警
func (s NeAlarmStateCheckLicenseProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
// seq 告警序号
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
lastTime := neInfo.UpdateTime // 网元最后更新时间
if lastTime < neInfo.CreateTime {
lastTime = time.Now().UnixMilli()

View File

@@ -4,37 +4,37 @@ import "time"
// Alarm 告警数据对象 alarm
type Alarm struct {
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
AlarmSeq string `json:"alarmSeq" gorm:"column:alarm_seq"`
AlarmId string `json:"alarmId" gorm:"column:alarm_id"`
AlarmTitle string `json:"alarmTitle" gorm:"column:alarm_title"`
NeType string `json:"neType" gorm:"column:ne_type"`
NeId string `json:"neId" gorm:"column:ne_id"`
AlarmCode string `json:"alarmCode" gorm:"column:alarm_code"`
EventTime time.Time `json:"eventTime" gorm:"column:event_time"`
AlarmType string `json:"alarmType" gorm:"column:alarm_type"`
OrigSeverity string `json:"origSeverity" gorm:"column:orig_severity"` // 1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)
PerceivedSeverity string `json:"perceivedSeverity" gorm:"column:perceived_severity"` // 1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)
PvFlag string `json:"pvFlag" gorm:"column:pv_flag"`
NeName string `json:"neName" gorm:"column:ne_name"`
ObjectUid string `json:"objectUid" gorm:"column:object_uid"`
ObjectName string `json:"objectName" gorm:"column:object_name"`
ObjectType string `json:"objectType" gorm:"column:object_type"`
LocationInfo string `json:"locationInfo" gorm:"column:location_info"`
Province string `json:"province" gorm:"column:province"`
AlarmStatus string `json:"alarmStatus" gorm:"column:alarm_status"` // 0:clear, 1:active
SpecificProblem string `json:"specificProblem" gorm:"column:specific_problem"`
SpecificProblemId string `json:"specificProblemId" gorm:"column:specific_problem_id"`
AddInfo string `json:"addInfo" gorm:"column:add_info"`
Counter string `json:"counter" gorm:"column:counter"`
LatestEventTime time.Time `json:"latestEventTime" gorm:"column:latest_event_time"`
AckState string `json:"ackState" gorm:"column:ack_state"` // 0: Unacked, 1: Acked
AckTime time.Time `json:"ackTime" gorm:"column:ack_time"`
AckUser string `json:"ackUser" gorm:"column:ack_user"`
ClearType string `json:"clearType" gorm:"column:clear_type"` // 0: Unclear, 1: AutoClear, 2: ManualClear
ClearTime time.Time `json:"clearTime" gorm:"column:clear_time"`
ClearUser string `json:"clearUser" gorm:"column:clear_user"`
Timestamp time.Time `json:"timestamp" gorm:"column:timestamp"`
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
AlarmSeq string `json:"alarmSeq" gorm:"column:alarm_seq"`
AlarmId string `json:"alarmId" gorm:"column:alarm_id"`
AlarmTitle string `json:"alarmTitle" gorm:"column:alarm_title"`
NeType string `json:"neType" gorm:"column:ne_type"`
NeId string `json:"neId" gorm:"column:ne_id"`
AlarmCode string `json:"alarmCode" gorm:"column:alarm_code"`
EventTime time.Time `json:"eventTime" gorm:"column:event_time"`
AlarmType string `json:"alarmType" gorm:"column:alarm_type"`
OrigSeverity string `json:"origSeverity" gorm:"column:orig_severity"` // 1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)
PerceivedSeverity string `json:"perceivedSeverity" gorm:"column:perceived_severity"` // 1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)
PvFlag string `json:"pvFlag" gorm:"column:pv_flag"`
NeName string `json:"neName" gorm:"column:ne_name"`
ObjectUid string `json:"objectUid" gorm:"column:object_uid"`
ObjectName string `json:"objectName" gorm:"column:object_name"`
ObjectType string `json:"objectType" gorm:"column:object_type"`
LocationInfo string `json:"locationInfo" gorm:"column:location_info"`
Province string `json:"province" gorm:"column:province"`
AlarmStatus string `json:"alarmStatus" gorm:"column:alarm_status"` // 0:clear, 1:active
SpecificProblem string `json:"specificProblem" gorm:"column:specific_problem"`
SpecificProblemId string `json:"specificProblemId" gorm:"column:specific_problem_id"`
AddInfo string `json:"addInfo" gorm:"column:add_info"`
Counter string `json:"counter" gorm:"column:counter"`
LatestEventTime *time.Time `json:"latestEventTime" gorm:"column:latest_event_time"`
AckState string `json:"ackState" gorm:"column:ack_state"` // 0: Unacked, 1: Acked
AckTime *time.Time `json:"ackTime" gorm:"column:ack_time"`
AckUser string `json:"ackUser" gorm:"column:ack_user"`
ClearType string `json:"clearType" gorm:"column:clear_type"` // 0: Unclear, 1: AutoClear, 2: ManualClear
ClearTime *time.Time `json:"clearTime" gorm:"column:clear_time"`
ClearUser string `json:"clearUser" gorm:"column:clear_user"`
Timestamp time.Time `json:"timestamp" gorm:"column:timestamp"`
}
// TableName 表名称

View File

@@ -79,8 +79,9 @@ func (r Alarm) AlarmClearByIds(ids []string, clearUser string) (int64, error) {
}
v.AlarmStatus = "0"
// 告警清除
clearTime := time.Now()
v.ClearType = "2"
v.ClearTime = time.Now()
v.ClearTime = &clearTime
v.ClearUser = clearUser
rows += r.alarmRepository.Update(v)
}
@@ -107,7 +108,8 @@ func (r Alarm) AlarmAckByIds(ids []string, ackUser string, ackState bool) (int64
} else {
v.AckState = "0"
}
v.AckTime = time.Now()
ackTime := time.Now()
v.AckTime = &ackTime
v.AckUser = ackUser
rows += r.alarmRepository.Update(v)
}