diff --git a/features/cdr/cdrevent.go b/features/cdr/cdrevent.go index c30c98f6..b1c1e5aa 100644 --- a/features/cdr/cdrevent.go +++ b/features/cdr/cdrevent.go @@ -10,6 +10,7 @@ import ( "ems.agt/lib/log" "ems.agt/lib/services" "ems.agt/restagent/config" + wsService "ems.agt/src/modules/ws/service" ) var ( @@ -41,7 +42,7 @@ func PostCDREventFromNF(w http.ResponseWriter, r *http.Request) { cdrEvent := new(CDREvent) err = json.Unmarshal(body, &cdrEvent) - if err != nil { + if cdrEvent.NeType == "" || err != nil { log.Error("Failed to Unmarshal cdrEvent:", err) services.ResponseInternalServerError500ProcessError(w, err) return @@ -55,5 +56,8 @@ func PostCDREventFromNF(w http.ResponseWriter, r *http.Request) { return } + // 推送到ws订阅组 + wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_CDR, cdrEvent) + services.ResponseStatusOK204NoContent(w) } diff --git a/src/modules/network_data/model/cdr_event.go b/src/modules/network_data/model/cdr_event.go index 27658ef2..70f731be 100644 --- a/src/modules/network_data/model/cdr_event.go +++ b/src/modules/network_data/model/cdr_event.go @@ -9,7 +9,7 @@ type CDREvent struct { NeName string `json:"neName" gorm:"column:ne_name"` RmUID string `json:"rmUID" gorm:"column:rm_uid"` Timestamp int64 `json:"timestamp" gorm:"column:timestamp"` - CDRJSONStr string `json:"cdrJson" gorm:"column:cdr_json"` + CDRJSONStr string `json:"cdrJSON" gorm:"column:cdr_json"` CreatedAt time.Time `json:"createdAt" gorm:"column:created_at;default:CURRENT_TIMESTAMP"` }