fix: 修改网元告警ID为RmUID,时间字段导致插入错误
This commit is contained in:
@@ -77,7 +77,7 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) {
|
|||||||
// 检查网元告警ID是否唯一
|
// 检查网元告警ID是否唯一
|
||||||
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
||||||
NeType: neInfo.NeType,
|
NeType: neInfo.NeType,
|
||||||
NeId: neInfo.NeId,
|
NeId: neInfo.RmUID,
|
||||||
AlarmId: params.AlarmId,
|
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.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
|
||||||
v.AlarmStatus = "0"
|
v.AlarmStatus = "0"
|
||||||
// 告警清除
|
// 告警清除
|
||||||
|
clearTime := time.UnixMilli(neInfo.UpdateTime)
|
||||||
v.ClearType = "1"
|
v.ClearType = "1"
|
||||||
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
|
v.ClearTime = &clearTime
|
||||||
v.ClearUser = "system"
|
v.ClearUser = "system"
|
||||||
rows := s.alarmService.Update(v)
|
rows := s.alarmService.Update(v)
|
||||||
if rows > 0 {
|
if rows > 0 {
|
||||||
@@ -135,7 +136,7 @@ func (s NeAlarmStateCheckProcessor) alarmClear(neInfo neModel.NeInfo, v neDataMo
|
|||||||
// alarmNew 新增告警
|
// alarmNew 新增告警
|
||||||
func (s NeAlarmStateCheckProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
func (s NeAlarmStateCheckProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
||||||
// seq 告警序号
|
// seq 告警序号
|
||||||
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
|
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
|
||||||
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
||||||
if lastTime < neInfo.CreateTime {
|
if lastTime < neInfo.CreateTime {
|
||||||
lastTime = time.Now().UnixMilli()
|
lastTime = time.Now().UnixMilli()
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
|
|||||||
// 检查网元告警ID是否唯一
|
// 检查网元告警ID是否唯一
|
||||||
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
||||||
NeType: neInfo.NeType,
|
NeType: neInfo.NeType,
|
||||||
NeId: neInfo.NeId,
|
NeId: neInfo.RmUID,
|
||||||
AlarmId: params.AlarmId,
|
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.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
|
||||||
v.AlarmStatus = "0"
|
v.AlarmStatus = "0"
|
||||||
// 告警清除
|
// 告警清除
|
||||||
|
clearTime := time.UnixMilli(neInfo.UpdateTime)
|
||||||
v.ClearType = "1"
|
v.ClearType = "1"
|
||||||
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
|
v.ClearTime = &clearTime
|
||||||
v.ClearUser = "system"
|
v.ClearUser = "system"
|
||||||
rows := s.alarmService.Update(v)
|
rows := s.alarmService.Update(v)
|
||||||
if rows > 0 {
|
if rows > 0 {
|
||||||
@@ -280,7 +281,7 @@ func (s NeAlarmStateCheckCMDProcessor) alarmClear(neInfo neModel.NeInfo, v neDat
|
|||||||
// alarmNew 新增告警
|
// alarmNew 新增告警
|
||||||
func (s NeAlarmStateCheckCMDProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
func (s NeAlarmStateCheckCMDProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
||||||
// seq 告警序号
|
// seq 告警序号
|
||||||
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
|
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
|
||||||
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
||||||
if lastTime < neInfo.CreateTime {
|
if lastTime < neInfo.CreateTime {
|
||||||
lastTime = time.Now().UnixMilli()
|
lastTime = time.Now().UnixMilli()
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
|
|||||||
// 检查网元告警ID是否唯一
|
// 检查网元告警ID是否唯一
|
||||||
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
alarmIdArr := s.alarmService.Find(neDataModel.Alarm{
|
||||||
NeType: neInfo.NeType,
|
NeType: neInfo.NeType,
|
||||||
NeId: neInfo.NeId,
|
NeId: neInfo.RmUID,
|
||||||
AlarmId: params.AlarmId,
|
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.AlarmId = fmt.Sprintf("%s%d", v.AlarmCode, v.EventTime.UnixMilli())
|
||||||
v.AlarmStatus = "0"
|
v.AlarmStatus = "0"
|
||||||
// 告警清除
|
// 告警清除
|
||||||
|
clearTime := time.UnixMilli(neInfo.UpdateTime)
|
||||||
v.ClearType = "1"
|
v.ClearType = "1"
|
||||||
v.ClearTime = time.UnixMilli(neInfo.UpdateTime)
|
v.ClearTime = &clearTime
|
||||||
v.ClearUser = "system"
|
v.ClearUser = "system"
|
||||||
rows := s.alarmService.Update(v)
|
rows := s.alarmService.Update(v)
|
||||||
if rows > 0 {
|
if rows > 0 {
|
||||||
@@ -183,7 +184,7 @@ func (s NeAlarmStateCheckLicenseProcessor) alarmClear(neInfo neModel.NeInfo, v n
|
|||||||
// alarmNew 新增告警
|
// alarmNew 新增告警
|
||||||
func (s NeAlarmStateCheckLicenseProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
func (s NeAlarmStateCheckLicenseProcessor) alarmNew(neInfo neModel.NeInfo, v alarmParams) (neDataModel.Alarm, error) {
|
||||||
// seq 告警序号
|
// seq 告警序号
|
||||||
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
|
lastSeq := s.alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.RmUID)
|
||||||
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
lastTime := neInfo.UpdateTime // 网元最后更新时间
|
||||||
if lastTime < neInfo.CreateTime {
|
if lastTime < neInfo.CreateTime {
|
||||||
lastTime = time.Now().UnixMilli()
|
lastTime = time.Now().UnixMilli()
|
||||||
|
|||||||
@@ -4,37 +4,37 @@ import "time"
|
|||||||
|
|
||||||
// Alarm 告警数据对象 alarm
|
// Alarm 告警数据对象 alarm
|
||||||
type Alarm struct {
|
type Alarm struct {
|
||||||
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
|
||||||
AlarmSeq string `json:"alarmSeq" gorm:"column:alarm_seq"`
|
AlarmSeq string `json:"alarmSeq" gorm:"column:alarm_seq"`
|
||||||
AlarmId string `json:"alarmId" gorm:"column:alarm_id"`
|
AlarmId string `json:"alarmId" gorm:"column:alarm_id"`
|
||||||
AlarmTitle string `json:"alarmTitle" gorm:"column:alarm_title"`
|
AlarmTitle string `json:"alarmTitle" gorm:"column:alarm_title"`
|
||||||
NeType string `json:"neType" gorm:"column:ne_type"`
|
NeType string `json:"neType" gorm:"column:ne_type"`
|
||||||
NeId string `json:"neId" gorm:"column:ne_id"`
|
NeId string `json:"neId" gorm:"column:ne_id"`
|
||||||
AlarmCode string `json:"alarmCode" gorm:"column:alarm_code"`
|
AlarmCode string `json:"alarmCode" gorm:"column:alarm_code"`
|
||||||
EventTime time.Time `json:"eventTime" gorm:"column:event_time"`
|
EventTime time.Time `json:"eventTime" gorm:"column:event_time"`
|
||||||
AlarmType string `json:"alarmType" gorm:"column:alarm_type"`
|
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)
|
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)
|
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"`
|
PvFlag string `json:"pvFlag" gorm:"column:pv_flag"`
|
||||||
NeName string `json:"neName" gorm:"column:ne_name"`
|
NeName string `json:"neName" gorm:"column:ne_name"`
|
||||||
ObjectUid string `json:"objectUid" gorm:"column:object_uid"`
|
ObjectUid string `json:"objectUid" gorm:"column:object_uid"`
|
||||||
ObjectName string `json:"objectName" gorm:"column:object_name"`
|
ObjectName string `json:"objectName" gorm:"column:object_name"`
|
||||||
ObjectType string `json:"objectType" gorm:"column:object_type"`
|
ObjectType string `json:"objectType" gorm:"column:object_type"`
|
||||||
LocationInfo string `json:"locationInfo" gorm:"column:location_info"`
|
LocationInfo string `json:"locationInfo" gorm:"column:location_info"`
|
||||||
Province string `json:"province" gorm:"column:province"`
|
Province string `json:"province" gorm:"column:province"`
|
||||||
AlarmStatus string `json:"alarmStatus" gorm:"column:alarm_status"` // 0:clear, 1:active
|
AlarmStatus string `json:"alarmStatus" gorm:"column:alarm_status"` // 0:clear, 1:active
|
||||||
SpecificProblem string `json:"specificProblem" gorm:"column:specific_problem"`
|
SpecificProblem string `json:"specificProblem" gorm:"column:specific_problem"`
|
||||||
SpecificProblemId string `json:"specificProblemId" gorm:"column:specific_problem_id"`
|
SpecificProblemId string `json:"specificProblemId" gorm:"column:specific_problem_id"`
|
||||||
AddInfo string `json:"addInfo" gorm:"column:add_info"`
|
AddInfo string `json:"addInfo" gorm:"column:add_info"`
|
||||||
Counter string `json:"counter" gorm:"column:counter"`
|
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
|
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"`
|
AckUser string `json:"ackUser" gorm:"column:ack_user"`
|
||||||
ClearType string `json:"clearType" gorm:"column:clear_type"` // 0: Unclear, 1: AutoClear, 2: ManualClear
|
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"`
|
ClearUser string `json:"clearUser" gorm:"column:clear_user"`
|
||||||
Timestamp time.Time `json:"timestamp" gorm:"column:timestamp"`
|
Timestamp time.Time `json:"timestamp" gorm:"column:timestamp"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName 表名称
|
// TableName 表名称
|
||||||
|
|||||||
@@ -79,8 +79,9 @@ func (r Alarm) AlarmClearByIds(ids []string, clearUser string) (int64, error) {
|
|||||||
}
|
}
|
||||||
v.AlarmStatus = "0"
|
v.AlarmStatus = "0"
|
||||||
// 告警清除
|
// 告警清除
|
||||||
|
clearTime := time.Now()
|
||||||
v.ClearType = "2"
|
v.ClearType = "2"
|
||||||
v.ClearTime = time.Now()
|
v.ClearTime = &clearTime
|
||||||
v.ClearUser = clearUser
|
v.ClearUser = clearUser
|
||||||
rows += r.alarmRepository.Update(v)
|
rows += r.alarmRepository.Update(v)
|
||||||
}
|
}
|
||||||
@@ -107,7 +108,8 @@ func (r Alarm) AlarmAckByIds(ids []string, ackUser string, ackState bool) (int64
|
|||||||
} else {
|
} else {
|
||||||
v.AckState = "0"
|
v.AckState = "0"
|
||||||
}
|
}
|
||||||
v.AckTime = time.Now()
|
ackTime := time.Now()
|
||||||
|
v.AckTime = &ackTime
|
||||||
v.AckUser = ackUser
|
v.AckUser = ackUser
|
||||||
rows += r.alarmRepository.Update(v)
|
rows += r.alarmRepository.Update(v)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user