ref: 多core表结构和代码调整修改

This commit is contained in:
TsMask
2025-06-10 17:50:54 +08:00
parent c7501a952d
commit cfe6ab61e3
189 changed files with 2159 additions and 3195 deletions

View File

@@ -125,7 +125,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
log.Debug("alarmData:", v)
// 是否存在网元 neId实际是rmUID
neInfo := neService.FindByRmuid(v.NeId)
neInfo := neService.FindByCoreUidAndNeUid("*", v.NeId)
if neInfo.NeType != v.NeType {
msg := fmt.Sprintf("network element does not exist %s", v.NeId)
services.ResponseWithJson(w, 400, resp.ErrMsg(msg))
@@ -143,7 +143,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
v.AddInfo = fmt.Sprintf("NeInfo:%s", v.NeType)
}
if v.ObjectUid == "" {
v.ObjectUid = neInfo.RmUID
v.ObjectUid = neInfo.NeUID
}
if v.ObjectName == "" {
v.ObjectName = neInfo.NeName
@@ -161,7 +161,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseWithJson(w, 400, resp.ErrMsg(err.Error()))
return
}
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM_EVENT, neInfo.NeType, neInfo.NeId)
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM_EVENT, neInfo.CoreUID, neInfo.NeUID)
wsService.NewWSSend.ByGroupID(groupID, clearAlarmEvent)
}
if v.AlarmStatus == AlarmStatusActive {
@@ -171,7 +171,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseWithJson(w, 400, resp.ErrMsg(err.Error()))
return
}
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM_EVENT, neInfo.NeType, neInfo.NeId)
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM_EVENT, neInfo.CoreUID, neInfo.NeUID)
wsService.NewWSSend.ByGroupID(groupID, newAlarmEvent)
}
continue
@@ -184,7 +184,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseWithJson(w, 400, resp.ErrMsg(err.Error()))
return
}
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM, neInfo.NeType, neInfo.NeId)
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM, neInfo.CoreUID, neInfo.NeUID)
wsService.NewWSSend.ByGroupID(groupID, clearAlarm)
}
if v.AlarmStatus == AlarmStatusActive {
@@ -194,7 +194,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseWithJson(w, 400, resp.ErrMsg(err.Error()))
return
}
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM, neInfo.NeType, neInfo.NeId)
groupID := fmt.Sprintf("%s_%s_%s", wsService.GROUP_ALARM, neInfo.CoreUID, neInfo.NeUID)
wsService.NewWSSend.ByGroupID(groupID, newAlarm)
}
@@ -232,12 +232,13 @@ func alarmClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.Alarm, error) {
alarmService := neDataService.NewAlarm
// 检查网元告警ID是否唯一
alarmIdArr := alarmService.Find(neDataModel.Alarm{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmId: v.AlarmId,
})
if len(alarmIdArr) != 1 {
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] clear alarm not exists alarmId:%s", neInfo.NeType, neInfo.NeId, v.AlarmId)
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] clear alarm not exists alarmId:%s", neInfo.CoreUID, neInfo.NeUID, v.AlarmId)
}
// 产生时间
@@ -245,11 +246,9 @@ func alarmClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.Alarm, error) {
alarm := neDataModel.Alarm{
ID: alarmIdArr[0].ID,
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
NeName: neInfo.NeName,
Province: neInfo.Province,
PvFlag: neInfo.PvFlag,
AlarmSeq: alarmIdArr[0].AlarmSeq, // seq 告警序号
AlarmId: v.AlarmId,
AlarmTitle: v.AlarmTitle,
@@ -276,7 +275,7 @@ func alarmClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.Alarm, error) {
if rows > 0 {
return alarm, nil
}
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] clear alarm fail", neInfo.NeType, neInfo.NeId)
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] clear alarm fail", neInfo.CoreUID, neInfo.NeUID)
}
// alarmNew 新增告警
@@ -284,24 +283,23 @@ func alarmNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.Alarm, error) {
alarmService := neDataService.NewAlarm
// 检查网元告警ID是否唯一
alarmIdArr := alarmService.Find(neDataModel.Alarm{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmId: v.AlarmId,
})
if len(alarmIdArr) > 0 {
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] new alarm already exists alarmId:%s", neInfo.NeType, neInfo.NeId, v.AlarmId)
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] new alarm already exists alarmId:%s", neInfo.CoreUID, neInfo.NeUID, v.AlarmId)
}
// seq 告警序号
lastSeq := alarmService.FindAlarmSeqLast(neInfo.NeType, neInfo.NeId)
lastSeq := alarmService.FindAlarmSeqLast(neInfo.CoreUID, neInfo.NeUID)
// 产生时间
eventTime := date.ParseStrToDate(v.EventTime, date.YYYY_MM_DDTHH_MM_SSZ)
alarm := neDataModel.Alarm{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
NeName: neInfo.NeName,
Province: neInfo.Province,
PvFlag: neInfo.PvFlag,
AlarmSeq: lastSeq + 1,
AlarmId: v.AlarmId,
AlarmTitle: v.AlarmTitle,
@@ -324,7 +322,7 @@ func alarmNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.Alarm, error) {
alarm.ID = insertId
return alarm, nil
}
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] new alarm fail", neInfo.NeType, neInfo.NeId)
return neDataModel.Alarm{}, fmt.Errorf("[%s %s] new alarm fail", neInfo.CoreUID, neInfo.NeUID)
}
// alarmSaveLog 保存告警日志
@@ -332,8 +330,9 @@ func alarmSaveLog(neInfo neModel.NeInfo, v Alarm) int64 {
alarmLogService := neDataService.NewAlarmLog
eventTime := date.ParseStrToDate(v.EventTime, date.YYYY_MM_DDTHH_MM_SSZ)
alarmLog := neDataModel.AlarmLog{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmSeq: int64(v.AlarmSeq),
AlarmId: v.AlarmId,
AlarmTitle: v.AlarmTitle,
@@ -365,12 +364,13 @@ func alarmEventClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, er
alarmEventService := neDataService.NewAlarmEvent
// 检查网元告警ID是否唯一
alarmIdArr := alarmEventService.Find(neDataModel.AlarmEvent{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmId: v.AlarmId,
})
if len(alarmIdArr) != 1 {
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] clear alarm event not exists alarmId:%s", neInfo.NeType, neInfo.NeId, v.AlarmId)
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] clear alarm event not exists alarmId:%s", neInfo.CoreUID, neInfo.NeUID, v.AlarmId)
}
// 产生时间
@@ -378,8 +378,9 @@ func alarmEventClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, er
alarmEvent := neDataModel.AlarmEvent{
ID: alarmIdArr[0].ID,
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmSeq: alarmIdArr[0].AlarmSeq, // seq 告警序号
AlarmId: v.AlarmId,
AlarmTitle: v.AlarmTitle,
@@ -403,7 +404,7 @@ func alarmEventClear(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, er
if rows > 0 {
return alarmEvent, nil
}
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] clear alarm event fail", neInfo.NeType, neInfo.NeId)
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] clear alarm event fail", neInfo.CoreUID, neInfo.NeUID)
}
// alarmEventNew 新增告警事件
@@ -411,21 +412,23 @@ func alarmEventNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, erro
alarmEventService := neDataService.NewAlarmEvent
// 检查网元告警ID是否唯一
alarmIdArr := alarmEventService.Find(neDataModel.AlarmEvent{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmId: v.AlarmId,
})
if len(alarmIdArr) > 0 {
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] new alarm event already exists alarmId:%s", neInfo.NeType, neInfo.NeId, v.AlarmId)
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] new alarm event already exists alarmId:%s", neInfo.CoreUID, neInfo.NeUID, v.AlarmId)
}
// seq 告警序号
lastSeq := alarmEventService.FindAlarmEventSeqLast(neInfo.NeType, neInfo.NeId)
lastSeq := alarmEventService.FindAlarmEventSeqLast(neInfo.CoreUID, neInfo.NeUID)
// 产生时间
eventTime := date.ParseStrToDate(v.EventTime, date.YYYY_MM_DDTHH_MM_SSZ)
alarmEvent := neDataModel.AlarmEvent{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmSeq: lastSeq + 1,
AlarmId: v.AlarmId,
AlarmTitle: v.AlarmTitle,
@@ -447,8 +450,9 @@ func alarmEventNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, erro
if v.AlarmCode == constants.ALARM_EVENT_REBOOT {
alarmService := neDataService.NewAlarm
rows := alarmService.Find(neDataModel.Alarm{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmStatus: "1",
})
for _, v := range rows {
@@ -457,11 +461,11 @@ func alarmEventNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, erro
}
// 网元重启后,有跟踪任务的需要重新补发启动任务
if v.AlarmCode == constants.ALARM_EVENT_REBOOT {
traceService.NewTraceTask.RunUnstopped(neInfo.NeType, neInfo.NeId)
traceService.NewTraceTask.RunUnstopped(neInfo.CoreUID, neInfo.NeUID)
}
return alarmEvent, nil
}
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] new alarm event fail", neInfo.NeType, neInfo.NeId)
return neDataModel.AlarmEvent{}, fmt.Errorf("[%s %s] new alarm event fail", neInfo.CoreUID, neInfo.NeUID)
}
// mapToAlarm 将 []map[string]any 转换为 []Alarm
@@ -505,7 +509,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
continue
}
if len(data) == 0 {
log.Infof("Not found sync alarms, neType=%s, neId=%s", neInfo.NeType, neInfo.NeId)
log.Infof("Not found sync alarms, neType=%s, neId=%s", neInfo.CoreUID, neInfo.NeUID)
continue
}
@@ -519,7 +523,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
v.AddInfo = fmt.Sprintf("NeInfo:%s", v.NeType)
}
if v.ObjectUid == "" {
v.ObjectUid = neInfo.RmUID
v.ObjectUid = neInfo.NeUID
}
if v.ObjectName == "" {
v.ObjectName = neInfo.NeName

View File

@@ -188,11 +188,12 @@ func writeLog(alarmData *Alarm, toUser, forwardBy string, err error) error {
if err != nil {
result = err.Error()
}
neInfo := neService.NewNeInfo.FindByRmuid(alarmData.NeId)
neInfo := neService.NewNeInfo.FindByCoreUidAndNeUid("*", alarmData.NeId)
eventTime := date.ParseStrToDate(alarmData.EventTime, date.YYYY_MM_DDTHH_MM_SSZ)
alarmForwardLog := neDataModel.AlarmForwardLog{
CoreUID: neInfo.CoreUID,
NeUID: neInfo.NeUID,
NeType: neInfo.NeType,
NeId: neInfo.NeId,
AlarmSeq: int64(alarmData.AlarmSeq),
AlarmId: alarmData.AlarmId,
AlarmTitle: alarmData.AlarmTitle,