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

@@ -15,13 +15,13 @@ type CDREvent struct {
// CDREventQuery CDR会话对象查询参数结构体
type CDREventQuery struct {
NeType string `form:"neType" binding:"required"`
NeID string `form:"neId" binding:"required"`
RmUID string `form:"rmUID"`
StartTime string `form:"startTime" `
EndTime string `form:"endTime"`
SortField string `form:"sortField" binding:"omitempty,oneof=timestamp"`
SortOrder string `form:"sortOrder" binding:"omitempty,oneof=asc desc"`
PageNum int64 `form:"pageNum" binding:"required"`
PageSize string `form:"pageSize" binding:"required"`
NeType string `json:"neType" form:"neType" binding:"required"`
NeID string `json:"neId" form:"neId" binding:"required"`
RmUID string `json:"rmUID" form:"rmUID"`
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"`
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"`
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
}

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