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
}
// 发送到匹配的网元
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, cdrEvent)
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_IMS_CDR+neInfo.NeId, cdrEvent)
}
}
}
@@ -278,8 +283,12 @@ func PostCDREventFromSMF(w http.ResponseWriter, r *http.Request) {
return
}
// 发送到匹配的网元
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(cdrEvent.RmUID)
if neInfo.RmUID == cdrEvent.RmUID {
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_SMF_CDR, cdrEvent)
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
}
// 发送到匹配的网元
neInfo := neService.NewNeInfoImpl.SelectNeInfoByRmuid(ueEvent.RmUID)
if neInfo.RmUID == ueEvent.RmUID {
// 推送到ws订阅组
if ueEvent.NeType == "MME" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE, ueEvent)
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE+neInfo.NeId, ueEvent)
}
}
services.ResponseStatusOK204NoContent(w)

View File

@@ -16,14 +16,14 @@ const (
GROUP_KPI = "10_"
// 组号-指标UPF 12_neId
GROUP_KPI_UPF = "12_"
// 组号-IMS_CDR会话事件
GROUP_IMS_CDR = "1005"
// 组号-SMF_CDR会话事件
GROUP_SMF_CDR = "1006"
// 组号-IMS_CDR会话事件 1005_neId
GROUP_IMS_CDR = "1005_"
// 组号-SMF_CDR会话事件 1006_neId
GROUP_SMF_CDR = "1006_"
// 组号-AMF_UE会话事件
GROUP_AMF_UE = "1010"
// 组号-MME_UE会话事件
GROUP_MME_UE = "1011"
// 组号-MME_UE会话事件 1011_neId
GROUP_MME_UE = "1011_"
)
// 实例化服务层 WSSendImpl 结构体