feat: 引入features的gin路由

This commit is contained in:
TsMask
2024-08-31 14:36:01 +08:00
parent 9c862fbbeb
commit c139bbad94
33 changed files with 1678 additions and 911 deletions

View File

@@ -16,14 +16,11 @@ import (
"nms_cxy/lib/services"
"nms_cxy/omc/config"
"nms_cxy/src/framework/utils/date"
neDataModel "nms_cxy/src/modules/network_data/model"
nmsCXYService "nms_cxy/src/modules/nms_cxy/service"
"xorm.io/xorm"
"github.com/go-resty/resty/v2"
_ "github.com/go-sql-driver/mysql"
"github.com/gorilla/mux"
"xorm.io/xorm"
)
const (
@@ -288,8 +285,6 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseInternalServerError500DatabaseOperationFailed(w)
continue
}
// 推送Kafka
ParseAlarmDataPushKafka(alarmData)
} else {
affected, err := session.Where("ne_type=? and ne_id=? and alarm_id=? and alarm_status=1", alarmData.NeType, alarmData.NeId, alarmData.AlarmId).
Cols("alarm_status", "clear_type", "clear_time").
@@ -299,8 +294,6 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseInternalServerError500DatabaseOperationFailed(w)
continue
}
// 推送Kafka
ParseAlarmDataPushKafka(alarmData)
}
log.Trace("alarmData:", alarmData)
var currentSeq string
@@ -328,7 +321,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
alarmLog.AlarmCode = alarmData.AlarmCode
alarmLog.AlarmStatus = alarmData.AlarmStatus
alarmLog.EventTime = eventTime
log.Debug("alarmLog:", alarmLog)
log.Trace("alarmLog:", alarmLog)
affected, err := session.Insert(alarmLog)
if err != nil && affected <= 0 {
@@ -361,8 +354,6 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
}
}
session.Commit()
// 推送Kafka
ParseAlarmDataPushKafka(alarmData)
// for alarm forward time format
alarmData.EventTime = eventTime
} else {
@@ -444,8 +435,8 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
if IsNeedToAckAlarm(valueJson, &alarmData) {
SetAlarmAckInfo(valueJson, &alarmData)
}
log.Debug("alarmData:", alarmData)
if alarmData.OrigSeverity == "Event" && config.GetYamlConfig().Alarm.SplitEventAlarm {
log.Trace("alarmData:", alarmData)
if (alarmData.OrigSeverity == "Event" || alarmData.OrigSeverity == "5") && config.GetYamlConfig().Alarm.SplitEventAlarm {
affected, err := xEngine.Table("alarm_event").InsertOne(alarmData)
if err != nil && affected <= 0 {
log.Error("Failed to insert alarm_event:", err)
@@ -475,8 +466,6 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
log.Error("Failed to insert alarm_log:", err)
}
session.Commit()
// 推送Kafka
ParseAlarmDataPushKafka(alarmData)
}
if config.GetYamlConfig().Alarm.ForwardAlarm {
if err = AlarmEmailForward(&alarmData); err != nil {
@@ -749,14 +738,28 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
}
}
evenTime := global.GetFmtTimeString(time.RFC3339, alarmData.EventTime, time.DateTime)
alarmData.ObjectUid = alarmData.NeId
alarmData.ObjectType = "VNFM"
alarmData.EventTime = global.GetFmtTimeString(time.RFC3339, alarmData.EventTime, time.DateTime)
alarmData.EventTime = evenTime
if IsNeedToAckAlarm(valueJson, &alarmData) {
SetAlarmAckInfo(valueJson, &alarmData)
}
log.Trace("alarmData:", alarmData)
affected, err := session.Insert(alarmData)
var affected int64
if (alarmData.OrigSeverity == "Event" || alarmData.OrigSeverity == "5") && config.GetYamlConfig().Alarm.SplitEventAlarm {
affected, err = session.Table("alarm_event").InsertOne(alarmData)
if err != nil && affected <= 0 {
log.Error("Failed to insert alarm_event:", err)
continue
}
} else {
affected, err = session.Table("alarm").Insert(alarmData)
if err != nil && affected <= 0 {
log.Error("Failed to insert alarm:", err)
continue
}
}
if err == nil && affected > 0 {
alarmLog := new(AlarmLog)
alarmLog.NeType = alarmData.NeType
@@ -765,8 +768,8 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
alarmLog.AlarmId = alarmData.AlarmId
alarmLog.AlarmCode = alarmData.AlarmCode
alarmLog.AlarmStatus = alarmData.AlarmStatus
alarmLog.EventTime = global.GetFmtTimeString(time.RFC3339, alarmData.EventTime, time.DateTime)
log.Debug("alarmLog:", alarmLog)
alarmLog.EventTime = evenTime
log.Trace("alarmLog:", alarmLog)
affected, err = session.Insert(alarmLog)
if err != nil && affected <= 0 {
log.Error("Failed to insert data:", err)
@@ -789,24 +792,3 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
}
services.ResponseStatusOK204NoContent(w)
}
// ParseAlarmDataPushKafka 处理告警数据后推送kafka
func ParseAlarmDataPushKafka(alarmData Alarm) {
neAlarm := neDataModel.Alarm{
AlarmSeq: fmt.Sprint(alarmData.AlarmSeq),
AlarmTitle: alarmData.AlarmTitle,
AlarmStatus: fmt.Sprint(alarmData.AlarmStatus),
AlarmType: alarmData.AlarmType,
OrigSeverity: alarmData.OrigSeverity,
EventTime: date.ParseStrToDate(alarmData.EventTime, date.YYYY_MM_DD_HH_MM_SS),
ID: alarmData.AlarmId,
AlarmCode: fmt.Sprint(alarmData.AlarmCode),
SpecificProblem: alarmData.SpecificProblem,
ObjectUid: alarmData.ObjectUid,
NeName: alarmData.NeName,
AlarmId: alarmData.ObjectUid,
ObjectName: alarmData.ObjectName,
AddInfo: alarmData.AddInfo,
}
nmsCXYService.NewAlarmImpl.KafkaPush(neAlarm)
}