feat: ws 新增CDR会话查询
This commit is contained in:
@@ -15,13 +15,13 @@ type CDREvent struct {
|
|||||||
|
|
||||||
// CDREventQuery CDR会话对象查询参数结构体
|
// CDREventQuery CDR会话对象查询参数结构体
|
||||||
type CDREventQuery struct {
|
type CDREventQuery struct {
|
||||||
NeType string `form:"neType" binding:"required"`
|
NeType string `json:"neType" form:"neType" binding:"required"`
|
||||||
NeID string `form:"neId" binding:"required"`
|
NeID string `json:"neId" form:"neId" binding:"required"`
|
||||||
RmUID string `form:"rmUID"`
|
RmUID string `json:"rmUID" form:"rmUID"`
|
||||||
StartTime string `form:"startTime" `
|
StartTime string `json:"startTime" form:"startTime"`
|
||||||
EndTime string `form:"endTime"`
|
EndTime string `json:"endTime" form:"endTime"`
|
||||||
SortField string `form:"sortField" binding:"omitempty,oneof=timestamp"`
|
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"`
|
||||||
SortOrder string `form:"sortOrder" binding:"omitempty,oneof=asc desc"`
|
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"`
|
||||||
PageNum int64 `form:"pageNum" binding:"required"`
|
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
|
||||||
PageSize string `form:"pageSize" binding:"required"`
|
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
|
||||||
}
|
}
|
||||||
|
|||||||
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
|
return err
|
||||||
}
|
}
|
||||||
client.MsgChan <- res
|
client.MsgChan <- res
|
||||||
|
case "cdr":
|
||||||
|
res, err := processor.GetCDRConnect(reqMsg.RequestID, reqMsg.Data)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
client.MsgChan <- res
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("message type not supported")
|
return fmt.Errorf("message type not supported")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user