From 376b7d83e66c6967e2c3b8f0e89199bd10e1a4d1 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 25 Jan 2024 18:01:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ws=E6=A8=A1=E5=9D=97=E6=B7=BB=E5=8A=A0U?= =?UTF-8?q?E=E4=BA=8B=E4=BB=B6=E6=9F=A5=E8=AF=A2=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/ws/processor/cdr_connect.go | 2 +- src/modules/ws/processor/ue_connect.go | 29 +++++++++++++++++++++++ src/modules/ws/service/ws_receive.impl.go | 6 +++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/modules/ws/processor/ue_connect.go diff --git a/src/modules/ws/processor/cdr_connect.go b/src/modules/ws/processor/cdr_connect.go index 73278fd6..efebdb86 100644 --- a/src/modules/ws/processor/cdr_connect.go +++ b/src/modules/ws/processor/cdr_connect.go @@ -10,7 +10,7 @@ import ( neDataService "ems.agt/src/modules/network_data/service" ) -// GetCDRConnect 获取CDR会话事件 +// GetCDRConnect 获取CDR会话事件-IMS func GetCDRConnect(requestID string, data any) ([]byte, error) { msgByte, _ := json.Marshal(data) var query neDataModel.CDREventQuery diff --git a/src/modules/ws/processor/ue_connect.go b/src/modules/ws/processor/ue_connect.go new file mode 100644 index 00000000..ee54c81f --- /dev/null +++ b/src/modules/ws/processor/ue_connect.go @@ -0,0 +1,29 @@ +package processor + +import ( + "encoding/json" + "fmt" + + "ems.agt/src/framework/logger" + "ems.agt/src/framework/vo/result" + neDataModel "ems.agt/src/modules/network_data/model" + neDataService "ems.agt/src/modules/network_data/service" +) + +// GetUEConnect 获取UE会话事件-AMF +func GetUEConnect(requestID string, data any) ([]byte, error) { + msgByte, _ := json.Marshal(data) + var query neDataModel.UEEventQuery + err := json.Unmarshal(msgByte, &query) + if err != nil { + logger.Warnf("ws processor GetUEConnect err: %s", err.Error()) + return nil, fmt.Errorf("query data structure error") + } + + dataMap := neDataService.NewUEEventImpl.SelectPage(query) + resultByte, err := json.Marshal(result.Ok(map[string]any{ + "requestID": requestID, + "data": dataMap, + })) + return resultByte, err +} diff --git a/src/modules/ws/service/ws_receive.impl.go b/src/modules/ws/service/ws_receive.impl.go index e2d5e13c..2fe5dbb1 100644 --- a/src/modules/ws/service/ws_receive.impl.go +++ b/src/modules/ws/service/ws_receive.impl.go @@ -37,6 +37,12 @@ func (s *WSReceiveImpl) Receive(client *model.WSClient, reqMsg model.WSRequest) return err } client.MsgChan <- res + case "ue": + res, err := processor.GetUEConnect(reqMsg.RequestID, reqMsg.Data) + if err != nil { + return err + } + client.MsgChan <- res default: return fmt.Errorf("message type not supported") }