feat: ws 新增CDR会话查询
This commit is contained in:
29
src/modules/ws/processor/cdr_connect.go
Normal file
29
src/modules/ws/processor/cdr_connect.go
Normal 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
|
||||
}
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user