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") }