feat: ws 新增CDR会话查询

This commit is contained in:
TsMask
2024-01-24 14:11:00 +08:00
parent 3135ff5b85
commit eba4416cab
3 changed files with 44 additions and 9 deletions

View File

@@ -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"
)
// GetCDRConnect 获取CDR会话事件
func GetCDRConnect(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.CDREventQuery
err := json.Unmarshal(msgByte, &query)
if err != nil {
logger.Warnf("ws processor GetCDRConnect err: %s", err.Error())
return nil, fmt.Errorf("query data structure error")
}
dataMap := neDataService.NewCDREventImpl.SelectPage(query)
resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID,
"data": dataMap,
}))
return resultByte, err
}

View File

@@ -31,6 +31,12 @@ func (s *WSReceiveImpl) Receive(client *model.WSClient, reqMsg model.WSRequest)
return err
}
client.MsgChan <- res
case "cdr":
res, err := processor.GetCDRConnect(reqMsg.RequestID, reqMsg.Data)
if err != nil {
return err
}
client.MsgChan <- res
default:
return fmt.Errorf("message type not supported")
}