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

@@ -27,12 +27,12 @@ type Alarm struct {
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"`
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"`
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"`
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"`
}

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