fix: CDR/Event发送到匹配的网元

This commit is contained in:
TsMask
2024-08-06 16:43:54 +08:00
parent 2c1f8c75fa
commit 712a9fee0b
3 changed files with 30 additions and 15 deletions

View File

@@ -11,6 +11,7 @@ import (
"be.ems/lib/log"
"be.ems/lib/services"
"be.ems/restagent/config"
neService "be.ems/src/modules/network_element/service"
wsService "be.ems/src/modules/ws/service"
)
@@ -241,10 +242,14 @@ func PostCDREventFromIMS(w http.ResponseWriter, r *http.Request) {
return
}
// 送到ws订阅组
if v, ok := cdrEvent.CDR["recordType"]; ok {
if v == "MOC" || v == "MTSM" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_IMS_CDR, cdrEvent)
// 送到匹配的网元
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(cdrEvent.RmUID)
if neInfo.RmUID == cdrEvent.RmUID {
// 推送到ws订阅组
if v, ok := cdrEvent.CDR["recordType"]; ok {
if v == "MOC" || v == "MTSM" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_IMS_CDR+neInfo.NeId, cdrEvent)
}
}
}
@@ -278,8 +283,12 @@ func PostCDREventFromSMF(w http.ResponseWriter, r *http.Request) {
return
}
// 送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_SMF_CDR, cdrEvent)
// 送到匹配的网元
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(cdrEvent.RmUID)
if neInfo.RmUID == cdrEvent.RmUID {
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_SMF_CDR+neInfo.NeId, cdrEvent)
}
services.ResponseStatusOK204NoContent(w)
}

View File

@@ -14,6 +14,7 @@ import (
"be.ems/lib/log"
"be.ems/lib/services"
"be.ems/restagent/config"
neService "be.ems/src/modules/network_element/service"
wsService "be.ems/src/modules/ws/service"
"github.com/gin-gonic/gin"
)
@@ -71,6 +72,7 @@ func PostUEEventFromAMF(c *gin.Context) {
return
}
// AMF没有RmUID直接推送
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_AMF_UE, ueEvent)
@@ -96,9 +98,13 @@ func PostUEEvent(w http.ResponseWriter, r *http.Request) {
return
}
// 送到ws订阅组
if ueEvent.NeType == "MME" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE, ueEvent)
// 送到匹配的网元
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(ueEvent.RmUID)
if neInfo.RmUID == ueEvent.RmUID {
// 推送到ws订阅组
if ueEvent.NeType == "MME" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE+neInfo.NeId, ueEvent)
}
}
services.ResponseStatusOK204NoContent(w)