ref: 接口调整并优化模块分布

This commit is contained in:
TsMask
2025-06-12 18:12:14 +08:00
parent 441be12b8c
commit 336e0acdb9
58 changed files with 338 additions and 353 deletions

View File

@@ -15,10 +15,11 @@ import (
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
neDataModel "be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neModel "be.ems/src/modules/network_element/model"
neService "be.ems/src/modules/network_element/service"
neLinkModel "be.ems/src/modules/network_link/model"
neLinkService "be.ems/src/modules/network_link/service"
systemService "be.ems/src/modules/system/service"
)
@@ -27,10 +28,10 @@ var NewProcessor = &BackupExportCDRProcessor{
backupService: neDataService.NewBackup,
sysDictService: systemService.NewSysDictData,
neInfoService: neService.NewNeInfo,
imsCDREventService: neDataService.NewCDREventIMS,
smscCDREventService: neDataService.NewCDREventSMSC,
smfCDREventService: neDataService.NewCDREventSMF,
sgwcCDREventService: neDataService.NewCDREventSGWC,
imsCDREventService: neLinkService.NewCDREventIMS,
smscCDREventService: neLinkService.NewCDREventSMSC,
smfCDREventService: neLinkService.NewCDREventSMF,
sgwcCDREventService: neLinkService.NewCDREventSGWC,
}
// BackupExportCDR 队列任务处理
@@ -39,10 +40,10 @@ type BackupExportCDRProcessor struct {
backupService *neDataService.Backup // 备份相关服务
sysDictService *systemService.SysDictData // 字典类型数据服务
neInfoService *neService.NeInfo // 网元信息服务
imsCDREventService *neDataService.CDREventIMS // IMS-CDR会话事件服务
smscCDREventService *neDataService.CDREventSMSC // SMSC-CDR会话事件服务
smfCDREventService *neDataService.CDREventSMF // SMF-CDR会话事件服务
sgwcCDREventService *neDataService.CDREventSGWC // SGWC-CDR会话事件服务
imsCDREventService *neLinkService.CDREventIMS // IMS-CDR会话事件服务
smscCDREventService *neLinkService.CDREventSMSC // SMSC-CDR会话事件服务
smfCDREventService *neLinkService.CDREventSMF // SMF-CDR会话事件服务
sgwcCDREventService *neLinkService.CDREventSGWC // SGWC-CDR会话事件服务
}
func (s *BackupExportCDRProcessor) Execute(data any) (any, error) {
@@ -104,7 +105,7 @@ func (s BackupExportCDRProcessor) exportIMS(coreUid, neUid string, hour int, fil
start := end.Add(-time.Duration(hour) * time.Hour)
language := "en"
query := neDataModel.CDREventIMSQuery{
query := neLinkModel.CDREventIMSQuery{
SortField: "timestamp",
SortOrder: "asc",
CoreUID: coreUid,
@@ -394,7 +395,7 @@ func (s BackupExportCDRProcessor) exportSMSC(coreUid, neUid string, hour int, fi
start := end.Add(-time.Duration(hour) * time.Hour)
language := "en"
query := neDataModel.CDREventSMSCQuery{
query := neLinkModel.CDREventSMSCQuery{
SortField: "timestamp",
SortOrder: "asc",
CoreUID: coreUid,
@@ -611,7 +612,7 @@ func (s BackupExportCDRProcessor) exportSMF(coreUid, neUid string, hour int, fil
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
start := end.Add(-time.Duration(hour) * time.Hour)
query := neDataModel.CDREventSMFQuery{
query := neLinkModel.CDREventSMFQuery{
SortField: "timestamp",
SortOrder: "asc",
CoreUID: coreUid,
@@ -1020,7 +1021,7 @@ func (s BackupExportCDRProcessor) exportSGWC(coreUid, neUid string, hour int, fi
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
start := end.Add(-time.Duration(hour) * time.Hour)
query := neDataModel.CDREventSGWCQuery{
query := neLinkModel.CDREventSGWCQuery{
SortField: "timestamp",
SortOrder: "asc",
CoreUID: coreUid,

View File

@@ -15,8 +15,8 @@ import (
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
neDataModel "be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neLinkModel "be.ems/src/modules/network_link/model"
systemModel "be.ems/src/modules/system/model"
systemService "be.ems/src/modules/system/service"
)
@@ -197,8 +197,8 @@ func (s BackupExportTableProcessor) exportSMF(hour int, columns []string, filePa
start := end.Add(-time.Duration(hour) * time.Hour)
// 查询数据
rows := []neDataModel.CDREventSMF{}
tx := db.DB("").Model(&neDataModel.CDREventSMF{})
rows := []neLinkModel.CDREventSMF{}
tx := db.DB("").Model(&neLinkModel.CDREventSMF{})
tx = tx.Where("created_at >= ? and created_at <= ?", start.UnixMilli(), end.UnixMilli())
if err := tx.Find(&rows).Error; err != nil {
return 0, err
@@ -428,8 +428,8 @@ func (s BackupExportTableProcessor) exportIMS(hour int, columns []string, filePa
start := end.Add(-time.Duration(hour) * time.Hour)
// 查询数据
rows := []neDataModel.CDREventIMS{}
tx := db.DB("").Model(&neDataModel.CDREventIMS{})
rows := []neLinkModel.CDREventIMS{}
tx := db.DB("").Model(&neLinkModel.CDREventIMS{})
tx = tx.Where("created_at >= ? and created_at <= ?", start.UnixMilli(), end.UnixMilli())
if err := tx.Find(&rows).Error; err != nil {
return 0, err
@@ -572,8 +572,8 @@ func (s BackupExportTableProcessor) exportSMSC(hour int, columns []string, fileP
start := end.Add(-time.Duration(hour) * time.Hour)
// 查询数据
rows := []neDataModel.CDREventSMSC{}
tx := db.DB("").Model(&neDataModel.CDREventSMSC{})
rows := []neLinkModel.CDREventSMSC{}
tx := db.DB("").Model(&neLinkModel.CDREventSMSC{})
tx = tx.Where("created_at >= ? and created_at <= ?", start.UnixMilli(), end.UnixMilli())
if err := tx.Find(&rows).Error; err != nil {
return 0, err
@@ -697,8 +697,8 @@ func (s BackupExportTableProcessor) exportSGWC(hour int, columns []string, fileP
start := end.Add(-time.Duration(hour) * time.Hour)
// 查询数据
rows := []neDataModel.CDREventSMSC{}
tx := db.DB("").Model(&neDataModel.CDREventSMSC{})
rows := []neLinkModel.CDREventSMSC{}
tx := db.DB("").Model(&neLinkModel.CDREventSMSC{})
tx = tx.Where("created_at >= ? and created_at <= ?", start.UnixMilli(), end.UnixMilli())
if err := tx.Find(&rows).Error; err != nil {
return 0, err

View File

@@ -208,6 +208,7 @@ func (s NeAlarmStateCheckCMDProcessor) serverState(state map[string]any, cpuUseG
neState := neDataModel.NEState{
CoreUID: fmt.Sprint(state["coreUid"]),
NeUID: fmt.Sprint(state["neUid"]),
NeType: fmt.Sprint(state["neType"]),
Version: fmt.Sprint(state["version"]),
Capability: parse.Number(state["capability"]),
SerialNum: fmt.Sprint(state["sn"]),

View File

@@ -52,7 +52,7 @@ type AlarmController struct {
// @Security TokenAuth
// @Summary Alarm List
// @Description Alarm List
// @Router /neData/alarm/list [get]
// @Router /ne/data/alarm/list [get]
func (s AlarmController) List(c *gin.Context) {
var query model.AlarmQuery
if err := c.ShouldBindQuery(&query); err != nil {
@@ -161,7 +161,7 @@ func (s AlarmController) Ack(c *gin.Context) {
// @Security TokenAuth
// @Summary Alarm List Export
// @Description Alarm List Export
// @Router /neData/alarm/export [get]
// @Router /ne/data/alarm/export [get]
func (s AlarmController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制

View File

@@ -38,7 +38,7 @@ type AlarmForwardController struct {
// @Security TokenAuth
// @Summary Alarm Forward Log List
// @Description Alarm Forward Log List
// @Router /neData/alarm/forward/log/list [get]
// @Router /ne/data/alarm/forward/log/list [get]
func (s AlarmForwardController) List(c *gin.Context) {
var query model.AlarmForwardLogQuery
if err := c.ShouldBindQuery(&query); err != nil {

View File

@@ -44,7 +44,7 @@ type AlarmLogController struct {
// @Security TokenAuth
// @Summary AlarmLog List
// @Description AlarmLog List
// @Router /neData/alarm/log/list [get]
// @Router /ne/data/alarm/log/list [get]
func (s AlarmLogController) List(c *gin.Context) {
var query model.AlarmLogQuery
if err := c.ShouldBindQuery(&query); err != nil {
@@ -77,7 +77,7 @@ func (s AlarmLogController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary Alarm Event Log List
// @Description Alarm Event Log List
// @Router /neData/alarm/log/event [get]
// @Router /ne/data/alarm/log/event [get]
func (s AlarmLogController) Event(c *gin.Context) {
var query model.AlarmEventQuery
if err := c.ShouldBindQuery(&query); err != nil {

View File

@@ -41,7 +41,7 @@ type KPIController struct {
// @Security TokenAuth
// @Summary Access to statistical data
// @Description Access to statistical data
// @Router /neData/kpi/data [get]
// @Router /ne/data/kpi/data [get]
func (s KPIController) KPIData(c *gin.Context) {
var querys model.KPIQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -67,7 +67,7 @@ func (s KPIController) KPIData(c *gin.Context) {
// @Security TokenAuth
// @Summary Get Statistical Headings
// @Description Get Statistical Headings
// @Router /neData/kpi/title [get]
// @Router /ne/data/kpi/title [get]
func (s KPIController) KPITitle(c *gin.Context) {
neType := c.Query("neType")
if neType == "" {

View File

@@ -22,7 +22,7 @@ var NewNBState = &NBStateController{
// 基站状态历史记录 AMF/MME
//
// PATH /nb-state
// PATH /state/nb
type NBStateController struct {
neInfoService *neService.NeInfo // 网元信息服务
nbStateService *neDataService.NBState // 基站状态服务
@@ -35,8 +35,8 @@ type NBStateController struct {
// @Tags network_data/amf,network_data/mme
// @Accept json
// @Produce json
// @Param neType query string true "NE Type only AMF/MME" Enums(AMF,MME) default(AMF)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Param pageNum query number true "pageNum" default(1)
// @Param pageSize query number true "pageSize" default(10)
// @Param startTime query number false "Start time (timestamped milliseconds)" default(1729162507596)
@@ -47,7 +47,7 @@ type NBStateController struct {
// @Security TokenAuth
// @Summary Base Station Status List
// @Description Base Station Status List
// @Router /nb-state/list [get]
// @Router /state/nb/list [get]
func (s NBStateController) List(c *gin.Context) {
var query model.NBStateQuery
if err := c.ShouldBindQuery(&query); err != nil {
@@ -63,7 +63,7 @@ func (s NBStateController) List(c *gin.Context) {
// 历史记录列表导出
//
// POST /export
// GET /export
//
// @Tags network_data/amf,network_data/mme
// @Accept json
@@ -73,12 +73,12 @@ func (s NBStateController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary Base Station Status List Export
// @Description Base Station Status List Export
// @Router /nb-state/export [post]
// @Router /state/nb/export [get]
func (s NBStateController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
var querys model.NBStateQuery
if err := c.ShouldBindBodyWithJSON(&querys); err != nil {
if err := c.ShouldBindQuery(&querys); err != nil {
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
return

View File

@@ -17,23 +17,23 @@ var NewNEState = &NEStateController{
neStateService: neDataService.NewNEState,
}
// 网元状态记录
// 网元状态历史记录
//
// PATH /ne-state
// PATH /state/ne
type NEStateController struct {
neInfoService *neService.NeInfo // 网元信息服务
neStateService *neDataService.NEState // 网元状态服务
}
// 网元状态记录-内存/CPU/磁盘列表
// 网元状态历史记录-内存/CPU/磁盘列表
//
// GET /list
//
// @Tags network_data
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(AMF)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Param pageNum query number true "pageNum" default(1)
// @Param pageSize query number true "pageSize" default(10)
// @Param startTime query number false "Start time (timestamped milliseconds)" default(1729162507596)
@@ -44,7 +44,7 @@ type NEStateController struct {
// @Security TokenAuth
// @Summary NE Status Record - Memory/CPU/Disk List
// @Description NE Status Record - Memory/CPU/Disk List
// @Router /ne-state/list [get]
// @Router /state/ne/list [get]
func (s NEStateController) List(c *gin.Context) {
var query model.NEStateQuery
if err := c.ShouldBindQuery(&query); err != nil {

View File

@@ -38,7 +38,7 @@ func (*Alarm) TableName() string {
// AlarmQuery 告警数据查询参数结构体
type AlarmQuery struct {
CoreUID string `json:"coreUid" form:"coreUid"` // 核心网唯一标识
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
AlarmCode string `json:"alarmCode" form:"alarmCode"`

View File

@@ -32,7 +32,7 @@ func (*AlarmEvent) TableName() string {
// AlarmEventQuery 告警事件数据查询参数结构体
type AlarmEventQuery struct {
CoreUID string `json:"coreId" form:"coreId"` // 核心网唯一标识
CoreUID string `json:"coreId" form:"coreId" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
AlarmCode string `json:"alarmCode" form:"alarmCode"`

View File

@@ -27,7 +27,7 @@ func (*AlarmForwardLog) TableName() string {
// AlarmForwardLogQuery 告警转发日志数据查询参数结构体
type AlarmForwardLogQuery struct {
CoreUID string `json:"coreUid" form:"coreUid"` // 核心网唯一标识
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查event_time

View File

@@ -24,7 +24,7 @@ func (*AlarmLog) TableName() string {
// AlarmLogQuery 告警日志数据查询参数结构体
type AlarmLogQuery struct {
CoreUID string `json:"coreUid" form:"coreUid"` // 核心网唯一标识
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
AlarmStatus string `json:"alarmStatus" form:"alarmStatus" binding:"omitempty,oneof=0 1"` // 告警状态 0:clear, 1:active

View File

@@ -83,8 +83,8 @@ func Setup(router *gin.Engine) {
)
}
// 网元状态记录信息
neStateGroup := neDataGroup.Group("/ne-state")
// 网元状态历史记录信息
neStateGroup := neDataGroup.Group("/state/ne")
{
neStateGroup.GET("/list",
middleware.AuthorizeUser(nil),
@@ -93,13 +93,13 @@ func Setup(router *gin.Engine) {
}
// 基站状态历史记录信息 含AMF/MME
nbStateGroup := neDataGroup.Group("/nb-state")
nbStateGroup := neDataGroup.Group("/state/nb")
{
nbStateGroup.GET("/list",
middleware.AuthorizeUser(nil),
controller.NewNBState.List,
)
nbStateGroup.POST("/export",
nbStateGroup.GET("/export",
middleware.AuthorizeUser(nil),
controller.NewNBState.Export,
)

View File

@@ -31,9 +31,9 @@ type NeActionController struct {
neInfoService *neService.NeInfo
}
// 从本地到网元发送文件
// 从本地到网元-发送文件
//
// POST /pushFile
// POST /file/push
//
// @Tags network_element/action
// @Accept json
@@ -43,8 +43,8 @@ type NeActionController struct {
// @Security TokenAuth
// @Summary Sending files from local to network elements
// @Description Sending files from local to network elements
// @Router /ne/action/pushFile [post]
func (s *NeActionController) PushFile(c *gin.Context) {
// @Router /ne/action/file/push [post]
func (s *NeActionController) FilePush(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
@@ -99,15 +99,15 @@ func (s *NeActionController) PushFile(c *gin.Context) {
c.JSON(200, resp.OkData(filepath.ToSlash(neFilePath)))
}
// 从网元到本地获取文件
// 从网元到本地-获取文件
//
// GET /pullFile
// GET /file/pull
//
// @Tags network_element/action
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Param path query string true "dir path" default(/var/log)
// @Param fileName query string true "file name"
// @Param delTemp query boolean false "Delete Temp File" default(false)
@@ -115,8 +115,8 @@ func (s *NeActionController) PushFile(c *gin.Context) {
// @Security TokenAuth
// @Summary Getting files from the network element to the local
// @Description Getting files from the network element to the local
// @Router /ne/action/pullFile [get]
func (s *NeActionController) PullFile(c *gin.Context) {
// @Router /ne/action/file/pull [get]
func (s *NeActionController) FilePull(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -173,23 +173,23 @@ func (s *NeActionController) PullFile(c *gin.Context) {
c.FileAttachment(localFilePath, fileName)
}
// 从网元到本地获取目录压缩为ZIP
// 从网元到本地-获取目录压缩为ZIP
//
// GET /pullDirZip
// GET /file/pull/dirzip
//
// @Tags network_element/action
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC) default(UPF)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Param path query string true "dir path" default(/var/log)
// @Param delTemp query boolean false "Delete Temp File" default(false)
// @Success 200 {object} object "Response Results"
// @Security TokenAuth
// @Summary Get directories compressed to ZIP from the network element to the local area
// @Description Get directories compressed to ZIP from the network element to the local area
// @Router /ne/action/pullDirZip [get]
func (s *NeActionController) PullDirZip(c *gin.Context) {
// @Router /ne/action/file/pull/dirzip [get]
func (s *NeActionController) FilePullDirZip(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var querys struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -254,9 +254,9 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
c.FileAttachment(zipFilePath, zipFileName)
}
// 查看网元端文件内容
// 网元端文件查看内容
//
// GET /viewFile
// GET /file/view
//
// @Tags network_element/action
// @Accept json
@@ -269,8 +269,8 @@ func (s *NeActionController) PullDirZip(c *gin.Context) {
// @Security TokenAuth
// @Summary Viewing the contents of a file on the network element side
// @Description Viewing the contents of a file on the network element side
// @Router /ne/action/viewFile [get]
func (s *NeActionController) ViewFile(c *gin.Context) {
// @Router /ne/action/file/view [get]
func (s *NeActionController) FileView(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var querys struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -313,7 +313,7 @@ func (s *NeActionController) ViewFile(c *gin.Context) {
// 网元端文件列表
//
// GET /files
// GET /file/list
//
// @Tags network_element/action
// @Accept json
@@ -328,8 +328,8 @@ func (s *NeActionController) ViewFile(c *gin.Context) {
// @Security TokenAuth
// @Summary List of files on the network element side
// @Description List of files on the network element side
// @Router /ne/action/files [get]
func (s *NeActionController) Files(c *gin.Context) {
// @Router /ne/action/file/list [get]
func (s *NeActionController) FileList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var querys struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识

View File

@@ -13,7 +13,6 @@ import (
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_element/model"
neService "be.ems/src/modules/network_element/service"
systemService "be.ems/src/modules/system/service"
"github.com/gin-gonic/gin"
)
@@ -22,7 +21,6 @@ import (
var NewNeConfigBackup = &NeConfigBackupController{
neConfigBackupService: neService.NewNeConfigBackup,
neInfoService: neService.NewNeInfo,
sysConfigService: systemService.NewSysConfig,
}
// 网元配置文件备份记录
@@ -31,7 +29,6 @@ var NewNeConfigBackup = &NeConfigBackupController{
type NeConfigBackupController struct {
neConfigBackupService *neService.NeConfigBackup // 网元配置文件备份记录服务
neInfoService *neService.NeInfo // 网元信息服务
sysConfigService *systemService.SysConfig // 参数配置服务
}
// 网元配置文件备份记录列表
@@ -139,8 +136,8 @@ func (s NeConfigBackupController) Import(c *gin.Context) {
var body struct {
CoreUID string `json:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" binding:"required"` // 网元唯一标识
Type string `json:"type" binding:"required,oneof=backup upload"` // 导入类型
Path string `json:"path" binding:"required"` // 文件路径
Type string `json:"type" binding:"required,oneof=backup upload"` // 导入类型 backup upload
Path string `json:"path" binding:"required"` // 备份文件zip文件路径
}
if err := c.ShouldBindBodyWithJSON(&body); err != nil {
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))

View File

@@ -18,8 +18,6 @@ import (
// 实例化控制层 NeInfoController 结构体
var NewNeInfo = &NeInfoController{
neInfoService: neService.NewNeInfo,
neLicenseService: neService.NewNeLicense,
neVersionService: neService.NewNeVersion,
}
// 网元信息请求
@@ -27,8 +25,6 @@ var NewNeInfo = &NeInfoController{
// PATH /info
type NeInfoController struct {
neInfoService *neService.NeInfo // 网元信息服务
neLicenseService *neService.NeLicense // 网元授权激活信息服务
neVersionService *neService.NeVersion // 网元版本信息服务
}
// neStateCacheMap 网元状态缓存最后一次成功的信息
@@ -42,8 +38,8 @@ var mutex sync.Mutex
// @Tags network_element/info
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Success 200 {object} object "Response Results"
// @Security TokenAuth
// @Summary Network element information state
@@ -81,8 +77,8 @@ func (s NeInfoController) State(c *gin.Context) {
"online": false,
"coreUid": neInfo.CoreUID,
"neUid": neInfo.NeUID,
"neName": neInfo.NeName,
"neType": neInfo.NeType,
"neName": neInfo.NeName,
"neIP": neInfo.IPAddr,
}
}
@@ -100,21 +96,21 @@ func (s NeInfoController) State(c *gin.Context) {
c.JSON(200, resp.OkData(resData))
}
// 网元neType和neID查询
// 网元信息查询
//
// GET /core-ne-uid
// GET /nf
//
// @Tags network_element/info
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Success 200 {object} object "Response Results"
// @Security TokenAuth
// @Summary Network element neType and neID queries
// @Description Network element neType and neID queries
// @Router /ne/info/core-ne-uid [get]
func (s NeInfoController) CoreUidAndNeUid(c *gin.Context) {
// @Router /ne/info/nf [get]
func (s NeInfoController) Nf(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -141,8 +137,9 @@ func (s NeInfoController) CoreUidAndNeUid(c *gin.Context) {
// @Tags network_element/info
// @Accept json
// @Produce json
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Param neType query string true "NE Type"
// @Param neId query string true "NE ID" default(001)
// @Param bandStatus query boolean true "With status information"
// @Param bandHost query boolean true "With host information"
// @Success 200 {object} object "Response Results"
@@ -355,9 +352,12 @@ func (s NeInfoController) Add(c *gin.Context) {
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: id not is empty"))
return
}
if body.CoreUID == "" {
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: coreUid is empty"))
return
}
loginUserName := reqctx.LoginUserToUserName(c)
body.CreateBy = loginUserName
body.CreateBy = reqctx.LoginUserToUserName(c)
insertId := s.neInfoService.Insert(body)
if insertId > 0 {
c.JSON(200, resp.OkData(insertId))
@@ -401,8 +401,9 @@ func (s NeInfoController) Edit(c *gin.Context) {
return
}
loginUserName := reqctx.LoginUserToUserName(c)
body.UpdateBy = loginUserName
body.CoreUID = neInfo.CoreUID
body.NeUID = neInfo.NeUID
body.UpdateBy = reqctx.LoginUserToUserName(c)
rows := s.neInfoService.Update(body)
if rows > 0 {
c.JSON(200, resp.Ok(nil))

View File

@@ -81,21 +81,21 @@ func (s *NeLicenseController) Info(c *gin.Context) {
c.JSON(200, resp.OkData(neLicense))
}
// 网元neType和neID查询
// 网元信息查询
//
// GET /byTypeAndID
// GET /nf
//
// @Tags network_element/license
// @Accept json
// @Produce json
// @Param neType query string true "NE Type" Enums(IMS,AMF,AUSF,UDM,SMF,PCF,NSSF,NRF,UPF,MME,CBC,OMC,SGWC,SMSC)
// @Param neId query string true "NE ID" default(001)
// @Param coreUid query string true "CoreUID" default(8I73Y01Z)
// @Param neUid query string true "NeUID" default(5AKF59BZ)
// @Success 200 {object} object "Response Results"
// @Security TokenAuth
// @Summary Network element neType and neID queries
// @Description Network element neType and neID queries
// @Router /ne/license/byTypeAndID [get]
func (s *NeLicenseController) NeTypeAndID(c *gin.Context) {
// @Router /ne/license/nf [get]
func (s *NeLicenseController) Nf(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var querys struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识

View File

@@ -20,26 +20,26 @@ func Setup(router *gin.Engine) {
// 网元操作处理
neActionGroup := router.Group("/ne/action")
{
neActionGroup.GET("/files",
neActionGroup.GET("/file/list",
middleware.AuthorizeUser(nil),
controller.NewNeAction.Files,
controller.NewNeAction.FileList,
)
neActionGroup.GET("/pullFile",
neActionGroup.GET("/file/pull/dirzip",
middleware.AuthorizeUser(nil),
controller.NewNeAction.PullFile,
controller.NewNeAction.FilePullDirZip,
)
neActionGroup.POST("/pushFile",
neActionGroup.GET("/file/pull",
middleware.AuthorizeUser(nil),
controller.NewNeAction.FilePull,
)
neActionGroup.POST("/file/push",
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_IMPORT)),
controller.NewNeAction.PushFile,
controller.NewNeAction.FilePush,
)
neActionGroup.GET("/pullDirZip",
neActionGroup.GET("/file/view",
middleware.AuthorizeUser(nil),
controller.NewNeAction.PullDirZip,
)
neActionGroup.GET("/viewFile",
middleware.AuthorizeUser(nil),
controller.NewNeAction.ViewFile,
controller.NewNeAction.FileView,
)
neActionGroup.PUT("/service",
middleware.AuthorizeUser(nil),
@@ -55,9 +55,9 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil),
controller.NewNeInfo.State,
)
neInfoGroup.GET("/core-ne-uid",
neInfoGroup.GET("/nf",
middleware.AuthorizeUser(nil),
controller.NewNeInfo.CoreUidAndNeUid,
controller.NewNeInfo.Nf,
)
neInfoGroup.GET("/list/all",
middleware.AuthorizeUser(nil),
@@ -248,9 +248,9 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil),
controller.NewNeLicense.Info,
)
neLicenseGroup.GET("/byTypeAndID",
neLicenseGroup.GET("/nf",
middleware.AuthorizeUser(nil),
controller.NewNeLicense.NeTypeAndID,
controller.NewNeLicense.Nf,
)
neLicenseGroup.GET("/code",
middleware.AuthorizeUser(nil),

View File

@@ -25,6 +25,9 @@ func (r NeConfigBackup) SelectByPage(query map[string]string) ([]model.NeConfigB
if v, ok := query["neId"]; ok && v != "" {
tx = tx.Where("neId = ?", v)
}
if v, ok := query["coreUid"]; ok && v != "" {
tx = tx.Where("core_uid = ?", v)
}
if v, ok := query["name"]; ok && v != "" {
tx = tx.Where("name like ?", fmt.Sprintf("%%%s%%", v))
}

View File

@@ -72,7 +72,7 @@ func (r NeInfo) SelectByPage(query map[string]string) ([]model.NeInfo, int64) {
tx = tx.Where("core_uid = ?", v)
}
if v, ok := query["neUid"]; ok && v != "" {
tx = tx.Where("neUid like ?", fmt.Sprintf("%s%%", v))
tx = tx.Where("ne_uid like ?", fmt.Sprintf("%s%%", v))
}
// 查询结果

View File

@@ -25,11 +25,14 @@ func (r NeLicense) SelectByPage(query map[string]string) ([]model.NeLicense, int
if v, ok := query["neUid"]; ok && v != "" {
tx = tx.Where("ne_uid = ?", v)
}
if v, ok := query["coreUid"]; ok && v != "" {
tx = tx.Where("core_uid = ?", v)
}
if v, ok := query["expiryDate"]; ok && v != "" {
tx = tx.Where("expiry_date = ?", v)
tx = tx.Where("expiry_date like ?", fmt.Sprintf("%s%%", v))
}
if v, ok := query["serialNum"]; ok && v != "" {
tx = tx.Where("serial_num = ?", v)
tx = tx.Where("serial_num like ?", fmt.Sprintf("%s%%", v))
}
if v, ok := query["createBy"]; ok && v != "" {
tx = tx.Where("create_by like ?", fmt.Sprintf("%s%%", v))
@@ -66,9 +69,15 @@ func (r NeLicense) Select(param model.NeLicense) []model.NeLicense {
if param.NeUID != "" {
tx = tx.Where("ne_uid = ?", param.NeUID)
}
if param.NeType != "" {
tx = tx.Where("ne_type = ?", param.NeType)
}
if param.ExpiryDate != "" {
tx = tx.Where("expiry_date = ?", param.ExpiryDate)
}
if param.SerialNum != "" {
tx = tx.Where("serial_num = ?", param.SerialNum)
}
if param.CreateBy != "" {
tx = tx.Where("create_by like ?", fmt.Sprintf("%s%%", param.CreateBy))
}

View File

@@ -22,6 +22,9 @@ func (r NeVersion) SelectByPage(query map[string]string) ([]model.NeVersion, int
if v, ok := query["neType"]; ok && v != "" {
tx = tx.Where("ne_type = ?", v)
}
if v, ok := query["coreUid"]; ok && v != "" {
tx = tx.Where("core_uid = ?", v)
}
if v, ok := query["neUid"]; ok && v != "" {
tx = tx.Where("ne_uid = ?", v)
}

View File

@@ -436,7 +436,7 @@ func (r NeInfo) DeleteByIds(ids []int64) (int64, error) {
// NeRunSSHClient 网元主机的SSH客户端-为创建相关连接,注意结束后 Close()
func (r NeInfo) NeRunSSHClient(coreUid, neUid string) (*ssh.ConnSSH, error) {
neInfo := r.FindByCoreUidAndNeUid(coreUid, neUid)
if neInfo.CoreUID != coreUid || neInfo.NeUID == neUid {
if neInfo.CoreUID != coreUid || neInfo.NeUID != neUid {
logger.Errorf("NeRunSSHClient CoreUID:%s or NeUID:%s not found", coreUid, neUid)
return nil, fmt.Errorf("neinfo not found")
}
@@ -498,7 +498,7 @@ func (r NeInfo) NeRunSSHCmd(coreUid, neUid string, cmdStr string) (string, error
// num 是网元主机telnet 14100 25200UPF标准版
func (r NeInfo) NeRunTelnetClient(coreUid, neUid string, num int) (*telnet.ConnTelnet, error) {
neInfo := r.FindByCoreUidAndNeUid(coreUid, neUid)
if neInfo.CoreUID != coreUid || neInfo.NeUID == neUid {
if neInfo.CoreUID != coreUid || neInfo.NeUID != neUid {
logger.Errorf("NeRunSSHClient CoreUID:%s or NeUID:%s not found", coreUid, neUid)
return nil, fmt.Errorf("neinfo not found")
}

View File

@@ -8,10 +8,10 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
neFetchlink "be.ems/src/modules/network_link/fetch_link"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
)
@@ -19,7 +19,7 @@ import (
// 实例化控制层 AMFController 结构体
var NewAMF = &AMFController{
neInfoService: neService.NewNeInfo,
ueEventService: neDataService.NewUEEventAMF,
ueEventService: service.NewUEEventAMF,
}
// 网元AMF
@@ -27,7 +27,7 @@ var NewAMF = &AMFController{
// PATH /amf
type AMFController struct {
neInfoService *neService.NeInfo // 网元信息服务
ueEventService *neDataService.UEEventAMF // UE会话事件服务
ueEventService *service.UEEventAMF // UE会话事件服务
}
// UE会话列表
@@ -46,7 +46,7 @@ type AMFController struct {
// @Security TokenAuth
// @Summary UE Session List
// @Description UE Session List
// @Router /neData/amf/ue/list [get]
// @Router /ne/link/amf/ue/list [get]
func (s *AMFController) UEList(c *gin.Context) {
var querys model.UEEventAMFQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -72,7 +72,7 @@ func (s *AMFController) UEList(c *gin.Context) {
// @Security TokenAuth
// @Summary UE Session Deletion
// @Description UE Session Deletion
// @Router /neData/amf/ue/{id} [delete]
// @Router /ne/link/amf/ue/{id} [delete]
func (s *AMFController) UERemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -110,7 +110,7 @@ func (s *AMFController) UERemove(c *gin.Context) {
// @Security TokenAuth
// @Summary UE Session List Export
// @Description UE Session List Export
// @Router /neData/amf/ue/export [post]
// @Router /ne/link/amf/ue/export [post]
func (s *AMFController) UEExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
@@ -144,7 +144,7 @@ func (s *AMFController) UEExport(c *gin.Context) {
c.FileAttachment(saveFilePath, fileName)
}
// 接入基站信息列表
// 接入基站在线信息列表
//
// GET /nb/list
//
@@ -157,7 +157,7 @@ func (s *AMFController) UEExport(c *gin.Context) {
// @Security TokenAuth
// @Summary Access Base Station Information List
// @Description Access Base Station Information List
// @Router /neData/amf/nb/list [get]
// @Router /ne/link/amf/nb/list [get]
func (s *AMFController) NbInfoList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -190,9 +190,9 @@ func (s *AMFController) NbInfoList(c *gin.Context) {
c.JSON(200, resp.OkData(data))
}
// 接入基站状态信息列表
// 接入基站位置状态列表
//
// GET /nb/list-cfg
// GET /nb/addrs
//
// @Tags network_data/amf
// @Accept json
@@ -202,7 +202,7 @@ func (s *AMFController) NbInfoList(c *gin.Context) {
// @Security TokenAuth
// @Summary Access to the base station status information list
// @Description Access to the base station status information list
// @Router /neData/amf/nb/list-cfg [get]
// @Router /ne/link/amf/nb/addrs [get]
func (s *AMFController) NbStateList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {

View File

@@ -8,10 +8,10 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
neFetchlink "be.ems/src/modules/network_link/fetch_link"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
)
@@ -19,7 +19,7 @@ import (
// 实例化控制层 IMSController 结构体
var NewIMS = &IMSController{
neInfoService: neService.NewNeInfo,
cdrEventService: neDataService.NewCDREventIMS,
cdrEventService: service.NewCDREventIMS,
}
// 网元IMS
@@ -27,7 +27,7 @@ var NewIMS = &IMSController{
// PATH /ims
type IMSController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventIMS // CDR会话事件服务
cdrEventService *service.CDREventIMS // CDR会话事件服务
}
// CDR会话列表
@@ -47,7 +47,7 @@ type IMSController struct {
// @Security TokenAuth
// @Summary CDR Session List
// @Description CDR Session List
// @Router /neData/ims/cdr/list [get]
// @Router /ne/link/ims/cdr/list [get]
func (s *IMSController) CDRList(c *gin.Context) {
var querys model.CDREventIMSQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -73,7 +73,7 @@ func (s *IMSController) CDRList(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session Delete
// @Description CDR Session Delete
// @Router /neData/ims/cdr/{id} [delete]
// @Router /ne/link/ims/cdr/{id} [delete]
func (s *IMSController) CDRRemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -101,7 +101,7 @@ func (s *IMSController) CDRRemove(c *gin.Context) {
// CDR会话列表导出
//
// POST /cdr/export
// GET /cdr/export
//
// @Tags network_data/ims
// @Accept json
@@ -111,12 +111,12 @@ func (s *IMSController) CDRRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session List Export
// @Description CDR Session List Export
// @Router /neData/ims/cdr/export [post]
// @Router /ne/link/ims/cdr/export [get]
func (s *IMSController) CDRExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
var querys model.CDREventIMSQuery
if err := c.ShouldBindBodyWithJSON(&querys); err != nil {
if err := c.ShouldBindQuery(&querys); err != nil {
errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err))
c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs))
return
@@ -157,7 +157,7 @@ func (s *IMSController) CDRExport(c *gin.Context) {
// @Security TokenAuth
// @Summary Number of online session users
// @Description Number of online session users
// @Router /neData/ims/session/num [get]
// @Router /ne/link/ims/session/num [get]
func (s *IMSController) UeSessionNum(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -201,7 +201,7 @@ func (s *IMSController) UeSessionNum(c *gin.Context) {
// @Security TokenAuth
// @Summary Online session user list information
// @Description Online session user list information
// @Router /neData/ims/session/list [get]
// @Router /ne/link/ims/session/list [get]
func (s *IMSController) UeSessionList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {

View File

@@ -8,10 +8,10 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
neFetchlink "be.ems/src/modules/network_link/fetch_link"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
)
@@ -19,7 +19,7 @@ import (
// 实例化控制层 MMEController 结构体
var NewMME = &MMEController{
neInfoService: neService.NewNeInfo,
ueEventService: neDataService.NewUEEventMME,
ueEventService: service.NewUEEventMME,
}
// 网元MME
@@ -27,7 +27,7 @@ var NewMME = &MMEController{
// PATH /mme
type MMEController struct {
neInfoService *neService.NeInfo // 网元信息服务
ueEventService *neDataService.UEEventMME // UE会话事件服务
ueEventService *service.UEEventMME // UE会话事件服务
}
// UE会话列表
@@ -46,7 +46,7 @@ type MMEController struct {
// @Security TokenAuth
// @Summary UE Session List
// @Description UE Session List
// @Router /neData/mme/ue/list [get]
// @Router /ne/link/mme/ue/list [get]
func (s *MMEController) UEList(c *gin.Context) {
var querys model.UEEventMMEQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -72,7 +72,7 @@ func (s *MMEController) UEList(c *gin.Context) {
// @Security TokenAuth
// @Summary UE Session Deletion
// @Description UE Session Deletion
// @Router /neData/mme/ue/{id} [delete]
// @Router /ne/link/mme/ue/{id} [delete]
func (s *MMEController) UERemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -110,7 +110,7 @@ func (s *MMEController) UERemove(c *gin.Context) {
// @Security TokenAuth
// @Summary UE Session List Export
// @Description UE Session List Export
// @Router /neData/mme/ue/export [post]
// @Router /ne/link/mme/ue/export [post]
func (s *MMEController) UEExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
@@ -144,7 +144,7 @@ func (s *MMEController) UEExport(c *gin.Context) {
c.FileAttachment(saveFilePath, fileName)
}
// 接入基站信息列表
// 接入基站在线信息列表
//
// GET /nb/list
//
@@ -157,7 +157,7 @@ func (s *MMEController) UEExport(c *gin.Context) {
// @Security TokenAuth
// @Summary Access Base Station Information List
// @Description Access Base Station Information List
// @Router /neData/mme/nb/list [get]
// @Router /ne/link/mme/nb/list [get]
func (s *MMEController) NbInfoList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -190,9 +190,9 @@ func (s *MMEController) NbInfoList(c *gin.Context) {
c.JSON(200, resp.OkData(data))
}
// 接入基站状态信息列表
// 接入基站位置状态列表
//
// GET /nb/list-cfg
// GET /nb/addrs
//
// @Tags network_data/mme
// @Accept json
@@ -202,7 +202,7 @@ func (s *MMEController) NbInfoList(c *gin.Context) {
// @Security TokenAuth
// @Summary Access to the base station status information list
// @Description Access to the base station status information list
// @Router /neData/mme/nb/list-cfg [get]
// @Router /ne/link/mme/nb/addrs [get]
func (s *MMEController) NbStateList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {

View File

@@ -38,7 +38,7 @@ type PCFController struct {
// @Security TokenAuth
// @Summary Policy Configuration List
// @Description Policy Configuration List
// @Router /neData/pcf/rule/list [get]
// @Router /ne/link/pcf/rule/list [get]
func (s PCFController) RuleInfoList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -85,13 +85,13 @@ func (s PCFController) RuleInfoList(c *gin.Context) {
// @Security TokenAuth
// @Summary Policy Configuration Additions
// @Description Policy Configuration Additions
// @Router /neData/pcf/rule [post]
// @Router /ne/link/pcf/rule [post]
func (s PCFController) RuleInfoAdd(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `form:"neUid" binding:"required"` // 网元唯一标识
Num int64 `json:"num"` // 批量添加默认0单条大于1时imsi/msisdn会累加数值
Num int64 `json:"num"` // 批量添加 大于1时imsi/msisdn会累加数值
ParamData map[string]any `json:"paramData" binding:"required"` // 参数数据
// Imsi string `json:"imsi" binding:"required"`
// Msisdn string `json:"msisdn" binding:"required"`
@@ -119,7 +119,7 @@ func (s PCFController) RuleInfoAdd(c *gin.Context) {
// 网元直连
var err error
if body.Num > 0 { // 批量添加
if body.Num > 1 { // 批量添加
err = neFetchlink.PCFRuleAddBatch(neInfo, body.ParamData, body.Num)
} else { // 单条添加
err = neFetchlink.PCFRuleAdd(neInfo, body.ParamData)
@@ -143,7 +143,7 @@ func (s PCFController) RuleInfoAdd(c *gin.Context) {
// @Security TokenAuth
// @Summary Policy Configuration Updates
// @Description Policy Configuration Updates
// @Router /neData/pcf/rule [put]
// @Router /ne/link/pcf/rule [put]
func (s PCFController) RuleInfoEdit(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {
@@ -203,7 +203,7 @@ func (s PCFController) RuleInfoEdit(c *gin.Context) {
// @Security TokenAuth
// @Summary Policy Configuration Deletion
// @Description Policy Configuration Deletion
// @Router /neData/pcf/rule [delete]
// @Router /ne/link/pcf/rule [delete]
func (s PCFController) RuleInfoRemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -227,7 +227,7 @@ func (s PCFController) RuleInfoRemove(c *gin.Context) {
// 网元直连
var err error
if query.Num > 0 { // 批量删除
if query.Num > 1 { // 批量删除
err = neFetchlink.PCFRuleDeleteBatch(neInfo, query.IMSI, query.Num)
} else { // 单条删除
err = neFetchlink.PCFRuleDelete(neInfo, query.IMSI)
@@ -252,7 +252,7 @@ func (s PCFController) RuleInfoRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary Policy Configuration Export
// @Description Policy Configuration Export
// @Router /neData/pcf/rule/export [get]
// @Router /ne/link/pcf/rule/export [get]
func (s PCFController) RuleInfoExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -299,7 +299,7 @@ func (s PCFController) RuleInfoExport(c *gin.Context) {
// @Security TokenAuth
// @Summary Policy Configuration Import
// @Description Policy Configuration Import
// @Router /neData/pcf/rule/import [put]
// @Router /ne/link/pcf/rule/import [put]
func (s PCFController) RuleInfoImport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {

View File

@@ -8,9 +8,8 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
)
@@ -18,7 +17,7 @@ import (
// 实例化控制层 SGWCController 结构体
var NewSGWC = &SGWCController{
neInfoService: neService.NewNeInfo,
cdrEventService: neDataService.NewCDREventSGWC,
cdrEventService: service.NewCDREventSGWC,
UDMExtendService: service.NewUDMExtend,
}
@@ -27,7 +26,7 @@ var NewSGWC = &SGWCController{
// PATH /sgwc
type SGWCController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventSGWC // CDR会话事件服务
cdrEventService *service.CDREventSGWC // CDR会话事件服务
UDMExtendService *service.UDMExtend // UDM用户信息服务
}
@@ -48,7 +47,7 @@ type SGWCController struct {
// @Security TokenAuth
// @Summary CDR Session List
// @Description CDR Session List
// @Router /neData/sgwc/cdr/list [get]
// @Router /ne/link/sgwc/cdr/list [get]
func (s *SGWCController) CDRList(c *gin.Context) {
var querys model.CDREventSGWCQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -74,7 +73,7 @@ func (s *SGWCController) CDRList(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session Delete
// @Description CDR Session Delete
// @Router /neData/sgwc/cdr/{id} [delete]
// @Router /ne/link/sgwc/cdr/{id} [delete]
func (s *SGWCController) CDRRemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -112,7 +111,7 @@ func (s *SGWCController) CDRRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session List Export
// @Description CDR Session List Export
// @Router /neData/sgwc/cdr/export [post]
// @Router /ne/link/sgwc/cdr/export [post]
func (s *SGWCController) CDRExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制

View File

@@ -9,10 +9,9 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
neFetchlink "be.ems/src/modules/network_link/fetch_link"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
@@ -21,7 +20,7 @@ import (
// 实例化控制层 SMFController 结构体
var NewSMF = &SMFController{
neInfoService: neService.NewNeInfo,
cdrEventService: neDataService.NewCDREventSMF,
cdrEventService: service.NewCDREventSMF,
UDMExtendService: service.NewUDMExtend,
}
@@ -30,7 +29,7 @@ var NewSMF = &SMFController{
// PATH /smf
type SMFController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventSMF // CDR会话事件服务
cdrEventService *service.CDREventSMF // CDR会话事件服务
UDMExtendService *service.UDMExtend // UDM用户信息服务
}
@@ -50,7 +49,7 @@ type SMFController struct {
// @Security TokenAuth
// @Summary CDR Session List
// @Description CDR Session List
// @Router /neData/smf/cdr/list [get]
// @Router /ne/link/smf/cdr/list [get]
func (s *SMFController) CDRList(c *gin.Context) {
var querys model.CDREventSMFQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -76,7 +75,7 @@ func (s *SMFController) CDRList(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session Delete
// @Description CDR Session Delete
// @Router /neData/smf/cdr/{id} [delete]
// @Router /ne/link/smf/cdr/{id} [delete]
func (s *SMFController) CDRRemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -114,7 +113,7 @@ func (s *SMFController) CDRRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session List Export
// @Description CDR Session List Export
// @Router /neData/smf/cdr/export [post]
// @Router /ne/link/smf/cdr/export [post]
func (s *SMFController) CDRExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
@@ -160,7 +159,7 @@ func (s *SMFController) CDRExport(c *gin.Context) {
// @Security TokenAuth
// @Summary Number of online session users
// @Description Number of online session users
// @Router /neData/smf/sub/num [get]
// @Router /ne/link/smf/sub/num [get]
func (s *SMFController) SubUserNum(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -206,7 +205,7 @@ func (s *SMFController) SubUserNum(c *gin.Context) {
// @Security TokenAuth
// @Summary Online session user list information
// @Description Online session user list information
// @Router /neData/smf/session/list [get]
// @Router /ne/link/smf/session/list [get]
func (s *SMFController) SubUserList(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {

View File

@@ -8,9 +8,9 @@ import (
"be.ems/src/framework/reqctx"
"be.ems/src/framework/resp"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neService "be.ems/src/modules/network_element/service"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/service"
"github.com/gin-gonic/gin"
)
@@ -18,7 +18,7 @@ import (
// 实例化控制层 SMSCController 结构体
var NewSMSC = &SMSCController{
neInfoService: neService.NewNeInfo,
cdrEventService: neDataService.NewCDREventSMSC,
cdrEventService: service.NewCDREventSMSC,
}
// 网元SMSC
@@ -26,7 +26,7 @@ var NewSMSC = &SMSCController{
// PATH /smsc
type SMSCController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventSMSC // CDR会话事件服务
cdrEventService *service.CDREventSMSC // CDR会话事件服务
}
// CDR会话列表
@@ -46,7 +46,7 @@ type SMSCController struct {
// @Security TokenAuth
// @Summary CDR Session List
// @Description CDR Session List
// @Router /neData/smsc/cdr/list [get]
// @Router /ne/link/smsc/cdr/list [get]
func (s *SMSCController) CDRList(c *gin.Context) {
var querys model.CDREventSMSCQuery
if err := c.ShouldBindQuery(&querys); err != nil {
@@ -72,7 +72,7 @@ func (s *SMSCController) CDRList(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session Delete
// @Description CDR Session Delete
// @Router /neData/smsc/cdr/{id} [delete]
// @Router /ne/link/smsc/cdr/{id} [delete]
func (s *SMSCController) CDRRemove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
id := c.Param("id")
@@ -110,7 +110,7 @@ func (s *SMSCController) CDRRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session List Export
// @Description CDR Session List Export
// @Router /neData/smsc/cdr/export [post]
// @Router /ne/link/smsc/cdr/export [post]
func (s *SMSCController) CDRExport(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制

View File

@@ -47,7 +47,7 @@ type UDMAuthController struct {
// @Security TokenAuth
// @Summary UDM Authentication User Data Refresh
// @Description UDM Authenticated User Data List Refresh Synchronization Latest
// @Router /neData/udm/auth/reset [put]
// @Router /ne/link/udm/auth/reset [put]
func (s *UDMAuthController) ResetData(c *gin.Context) {
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -78,7 +78,7 @@ func (s *UDMAuthController) ResetData(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authentication User List
// @Description UDM Authentication User List
// @Router /neData/udm/auth/list [get]
// @Router /ne/link/udm/auth/list [get]
func (s *UDMAuthController) List(c *gin.Context) {
query := reqctx.QueryMap(c)
total, rows := s.udmAuthService.FindByPage(query)
@@ -99,7 +99,7 @@ func (s *UDMAuthController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authentication User Information
// @Description UDM Authentication User Information
// @Router /neData/udm/auth [get]
// @Router /ne/link/udm/auth [get]
func (s *UDMAuthController) Info(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -159,7 +159,7 @@ func (s *UDMAuthController) Info(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authentication User Added
// @Description UDM Authentication User Added
// @Router /neData/udm/auth [post]
// @Router /ne/link/udm/auth [post]
func (s *UDMAuthController) Add(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 传入数量大于0时为批量新增
@@ -242,7 +242,7 @@ func (s *UDMAuthController) Add(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Modification
// @Description UDM Authenticated User Modification
// @Router /neData/udm/auth [put]
// @Router /ne/link/udm/auth [put]
func (s *UDMAuthController) Edit(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body model.UDMAuthUser
@@ -299,7 +299,7 @@ func (s *UDMAuthController) Edit(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Deletion
// @Description UDM Authenticated User Deletion
// @Router /neData/udm/auth/{neId}/{value} [delete]
// @Router /ne/link/udm/auth/{neId}/{value} [delete]
func (s *UDMAuthController) Remove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -387,7 +387,7 @@ func (s *UDMAuthController) Remove(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Export
// @Description UDM Authenticated User Export
// @Router /neData/udm/auth/export [get]
// @Router /ne/link/udm/auth/export [get]
func (s *UDMAuthController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
neUid := c.Query("neUid")
@@ -468,7 +468,7 @@ func (s *UDMAuthController) Export(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Import
// @Description UDM Authenticated User Import
// @Router /neData/udm/auth/import [post]
// @Router /ne/link/udm/auth/import [post]
func (s *UDMAuthController) Import(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {

View File

@@ -46,7 +46,7 @@ type UDMSubController struct {
// @Security TokenAuth
// @Summary UDM Subscriber User Reload Data
// @Description UDM Subscriber User Reload Data
// @Router /neData/udm/sub/reset [put]
// @Router /ne/link/udm/sub/reset [put]
func (s *UDMSubController) ResetData(c *gin.Context) {
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -78,7 +78,7 @@ func (s *UDMSubController) ResetData(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User List
// @Description UDM Subscriber User List
// @Router /neData/udm/sub/list [get]
// @Router /ne/link/udm/sub/list [get]
func (s *UDMSubController) List(c *gin.Context) {
query := reqctx.QueryMap(c)
total, rows := s.udmSubService.FindByPage(query)
@@ -98,7 +98,7 @@ func (s *UDMSubController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Information
// @Description UDM Subscriber User Information
// @Router /neData/udm/sub [get]
// @Router /ne/link/udm/sub [get]
func (s *UDMSubController) Info(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -158,7 +158,7 @@ func (s *UDMSubController) Info(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Added
// @Description UDM Subscriber User Added
// @Router /neData/udm/sub [post]
// @Router /ne/link/udm/sub [post]
func (s *UDMSubController) Add(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 传入数量大于0时为批量新增
@@ -244,7 +244,7 @@ func (s *UDMSubController) Add(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Modification
// @Description UDM Subscriber User Modification
// @Router /neData/udm/sub [put]
// @Router /ne/link/udm/sub [put]
func (s *UDMSubController) Edit(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
neId := c.Param("neId")
@@ -307,7 +307,7 @@ func (s *UDMSubController) Edit(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Deletion
// @Description UDM Subscriber User Deletion
// @Router /neData/udm/sub [delete]
// @Router /ne/link/udm/sub [delete]
func (s *UDMSubController) Remove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -395,7 +395,7 @@ func (s *UDMSubController) Remove(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Export
// @Description UDM Subscriber User Export
// @Router /neData/udm/sub/export [post]
// @Router /ne/link/udm/sub/export [post]
func (s *UDMSubController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
neUid := c.Query("neUid")
@@ -470,7 +470,7 @@ func (s *UDMSubController) Export(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Subscriber User Import
// @Description UDM Subscriber User Import
// @Router /neData/udm/sub/import [post]
// @Router /ne/link/udm/sub/import [post]
func (s *UDMSubController) Import(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {

View File

@@ -47,7 +47,7 @@ type UDMVOIPController struct {
// @Security TokenAuth
// @Summary UDM VOIP User Data Refresh
// @Description UDM VOIP User Data List Refresh Synchronization Latest
// @Router /neData/udm/voip/reset [put]
// @Router /ne/link/udm/voip/reset [put]
func (s *UDMVOIPController) ResetData(c *gin.Context) {
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -79,7 +79,7 @@ func (s *UDMVOIPController) ResetData(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User List
// @Description UDM VOIP User List
// @Router /neData/udm/voip/list [get]
// @Router /ne/link/udm/voip/list [get]
func (s *UDMVOIPController) List(c *gin.Context) {
query := reqctx.QueryMap(c)
total, rows := s.udmVOIPService.FindByPage(query)
@@ -99,7 +99,7 @@ func (s *UDMVOIPController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User Information
// @Description UDM VOIP User Information
// @Router /neData/udm/voip [get]
// @Router /ne/link/udm/voip [get]
func (s *UDMVOIPController) Info(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -163,7 +163,7 @@ func (s *UDMVOIPController) Info(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User Added
// @Description UDM VOIP User Added
// @Router /neData/udm/voip [post]
// @Router /ne/link/udm/voip [post]
func (s *UDMVOIPController) Add(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 传入数量大于0时为批量新增
@@ -244,7 +244,7 @@ func (s *UDMVOIPController) Add(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User Deletion
// @Description UDM VOIP User Deletion
// @Router /neData/udm/voip [delete]
// @Router /ne/link/udm/voip [delete]
func (s *UDMVOIPController) Remove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -332,7 +332,7 @@ func (s *UDMVOIPController) Remove(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User Export
// @Description UDM VOIP User Export
// @Router /neData/udm/voip/export [get]
// @Router /ne/link/udm/voip/export [get]
func (s *UDMVOIPController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
@@ -408,7 +408,7 @@ func (s *UDMVOIPController) Export(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VOIP User Import
// @Description UDM VOIP User Import
// @Router /neData/udm/voip/import [post]
// @Router /ne/link/udm/voip/import [post]
func (s *UDMVOIPController) Import(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {

View File

@@ -47,7 +47,7 @@ type UDMVolteIMSController struct {
// @Security TokenAuth
// @Summary UDM VolteIMS User Data Refresh
// @Description UDM Authenticated User Data List Refresh Synchronization Latest
// @Router /neData/udm/volte-ims/reset [put]
// @Router /ne/link/udm/volte-ims/reset [put]
func (s *UDMVolteIMSController) ResetData(c *gin.Context) {
var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -78,7 +78,7 @@ func (s *UDMVolteIMSController) ResetData(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VolteIMS User List
// @Description UDM VolteIMS User List
// @Router /neData/udm/volte-ims/list [get]
// @Router /ne/link/udm/volte-ims/list [get]
func (s *UDMVolteIMSController) List(c *gin.Context) {
query := reqctx.QueryMap(c)
total, rows := s.udmVolteIMSService.FindByPage(query)
@@ -99,7 +99,7 @@ func (s *UDMVolteIMSController) List(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VolteIMS User Information
// @Description UDM VolteIMS User Information
// @Router /neData/udm/volte-ims [get]
// @Router /ne/link/udm/volte-ims [get]
func (s *UDMVolteIMSController) Info(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -164,7 +164,7 @@ func (s *UDMVolteIMSController) Info(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VolteIMS User Added
// @Description UDM VolteIMS User Added If VoIP tag=0, then MSISDN and IMSI need to be the same.
// @Router /neData/udm/volte-ims [post]
// @Router /ne/link/udm/volte-ims [post]
func (s *UDMVolteIMSController) Add(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
// 传入数量大于0时为批量新增
@@ -255,7 +255,7 @@ func (s *UDMVolteIMSController) Add(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM VolteIMS User Batch Deletion
// @Description UDM VolteIMS User Batch Deletion
// @Router /neData/udm/volte-ims [delete]
// @Router /ne/link/udm/volte-ims [delete]
func (s *UDMVolteIMSController) Remove(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var query struct {
@@ -362,7 +362,7 @@ func (s *UDMVolteIMSController) Remove(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Export
// @Description UDM Authenticated User Export
// @Router /neData/udm/volte-ims/export [get]
// @Router /ne/link/udm/volte-ims/export [get]
func (s *UDMVolteIMSController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
neUid := c.Query("neUid")
@@ -435,7 +435,7 @@ func (s *UDMVolteIMSController) Export(c *gin.Context) {
// @Security TokenAuth
// @Summary UDM Authenticated User Import
// @Description UDM Authenticated User Import
// @Router /neData/udm/volte-ims/import [post]
// @Router /ne/link/udm/volte-ims/import [post]
func (s *UDMVolteIMSController) Import(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var body struct {

View File

@@ -40,7 +40,7 @@ type UPFController struct {
// @Security TokenAuth
// @Summary Total number of flows N3 upstream N6 downstream
// @Description Total number of flows N3 upstream N6 downstream
// @Router /neData/upf/flow-total [get]
// @Router /ne/link/upf/flow-total [get]
func (s UPFController) FlowTotal(c *gin.Context) {
language := reqctx.AcceptLanguage(c)
var querys struct {

View File

@@ -20,12 +20,11 @@ func (*CDREventIMS) TableName() string {
type CDREventIMSQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType" binding:"required,oneof=IMS"` // 网元类型IMS
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOC MTC
CallerParty string `json:"callerParty" form:"callerParty"` // 主叫号码
CalledParty string `json:"calledParty" form:"calledParty"` // 被叫号码
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -20,11 +20,10 @@ func (*CDREventSGWC) TableName() string {
type CDREventSGWCQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType" binding:"required,oneof=SGWC"` // SGWC
IMSI string `json:"imsi" form:"imsi"`
MSISDN string `json:"msisdn" form:"msisdn"`
IMSI string `json:"imsi" form:"imsi"` // 记录 servedIMSI
MSISDN string `json:"msisdn" form:"msisdn"` // 记录 servedMSISDN
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -20,12 +20,10 @@ func (*CDREventSMF) TableName() string {
type CDREventSMFQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType" binding:"required,oneof=SMF"` // 网元类型, 暂时支持SMF
RecordType string `json:"recordType" form:"recordType"` // 暂时没用到
SubscriberID string `json:"subscriberID" form:"subscriberID"`
DNN string `json:"dnn" form:"dnn"`
SubscriberID string `json:"subscriberID" form:"subscriberID"` // 用户 IMSI
DNN string `json:"dnn" form:"dnn"` // 记录 pDUSessionChargingInformation.dNNID
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -20,12 +20,11 @@ func (*CDREventSMSC) TableName() string {
type CDREventSMSCQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType" binding:"required,oneof=SMSC"` // 网元类型, 暂时支持SMSC
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOSM MTSM
CallerParty string `json:"callerParty" form:"callerParty"` // 主叫号码
CalledParty string `json:"calledParty" form:"calledParty"` // 被叫号码
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -21,11 +21,10 @@ func (*UEEventAMF) TableName() string {
type UEEventAMFQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
EventType string `json:"eventType" form:"eventType"` // 事件类型 auth-result detach cm-state
IMSI string `json:"imsi" form:"imsi"` // imsi
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -21,11 +21,10 @@ func (*UEEventMME) TableName() string {
type UEEventMMEQuery struct {
CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid" binding:"required"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型
EventType string `json:"eventType" form:"eventType"` // 事件类型 auth-result detach cm-state
IMSI string `json:"imsi" form:"imsi"` // imsi
BeginTime int64 `json:"beginTime" form:"beginTime"` // 开始时间 查timestamp
EndTime int64 `json:"endTime" form:"endTime"`
EndTime int64 `json:"endTime" form:"endTime"` // 结束时间 查timestamp
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -14,10 +14,10 @@ import (
func Setup(router *gin.Engine) {
logger.Infof("开始加载 ====> network_link 模块路由")
neDataGroup := router.Group("/ne/link")
neLinkGroup := router.Group("/ne/link")
// 网元IMS
imsGroup := neDataGroup.Group("/ims")
imsGroup := neLinkGroup.Group("/ims")
{
imsGroup.GET("/cdr/list",
middleware.AuthorizeUser(nil),
@@ -28,7 +28,7 @@ func Setup(router *gin.Engine) {
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewIMS.CDRRemove,
)
imsGroup.POST("/cdr/export",
imsGroup.GET("/cdr/export",
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewIMS.CDRExport,
@@ -44,7 +44,7 @@ func Setup(router *gin.Engine) {
}
// 网元SMSC
smscGroup := neDataGroup.Group("/smsc")
smscGroup := neLinkGroup.Group("/smsc")
{
smscGroup.GET("/cdr/list",
middleware.AuthorizeUser(nil),
@@ -63,7 +63,7 @@ func Setup(router *gin.Engine) {
}
// 网元SMF
smfGroup := neDataGroup.Group("/smf")
smfGroup := neLinkGroup.Group("/smf")
{
smfGroup.GET("/cdr/list",
middleware.AuthorizeUser(nil),
@@ -90,7 +90,7 @@ func Setup(router *gin.Engine) {
}
// 网元AMF
amfGroup := neDataGroup.Group("/amf")
amfGroup := neLinkGroup.Group("/amf")
{
amfGroup.GET("/ue/list",
middleware.AuthorizeUser(nil),
@@ -110,14 +110,14 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil),
controller.NewAMF.NbInfoList,
)
amfGroup.GET("/nb/list-cfg",
amfGroup.GET("/nb/addrs",
middleware.AuthorizeUser(nil),
controller.NewAMF.NbStateList,
)
}
// 网元UPF
upfGroup := neDataGroup.Group("/upf")
upfGroup := neLinkGroup.Group("/upf")
{
upfGroup.GET("/flow-total",
middleware.AuthorizeUser(nil),
@@ -126,7 +126,7 @@ func Setup(router *gin.Engine) {
}
// 网元UDM 鉴权用户信息
udmAuthGroup := neDataGroup.Group("/udm/auth")
udmAuthGroup := neLinkGroup.Group("/udm/auth")
{
udmAuthGroup.PUT("/reset",
repeat.RepeatSubmit(5),
@@ -170,9 +170,9 @@ func Setup(router *gin.Engine) {
}
// 网元UDM 签约用户信息
udmSubGroup := neDataGroup.Group("/udm/sub")
udmSubGroup := neLinkGroup.Group("/udm/sub")
{
udmSubGroup.PUT("/resetData/:neId",
udmSubGroup.PUT("/reset",
repeat.RepeatSubmit(5),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_CLEAN)),
@@ -214,7 +214,7 @@ func Setup(router *gin.Engine) {
}
// 网元UDM VOIP用户信息
udmVOIPGroup := neDataGroup.Group("/udm/voip")
udmVOIPGroup := neLinkGroup.Group("/udm/voip")
{
udmVOIPGroup.PUT("/reset",
repeat.RepeatSubmit(5),
@@ -253,7 +253,7 @@ func Setup(router *gin.Engine) {
}
// 网元UDM VolteIMS用户信息
udmVolteIMSGroup := neDataGroup.Group("/udm/volte-ims")
udmVolteIMSGroup := neLinkGroup.Group("/udm/volte-ims")
{
udmVolteIMSGroup.PUT("/reset",
repeat.RepeatSubmit(5),
@@ -292,7 +292,7 @@ func Setup(router *gin.Engine) {
}
// 网元MME
mmeGroup := neDataGroup.Group("/mme")
mmeGroup := neLinkGroup.Group("/mme")
{
mmeGroup.GET("/ue/list",
middleware.AuthorizeUser(nil),
@@ -312,14 +312,14 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil),
controller.NewMME.NbInfoList,
)
mmeGroup.GET("/nb/list-cfg",
mmeGroup.GET("/nb/addrs",
middleware.AuthorizeUser(nil),
controller.NewMME.NbStateList,
)
}
// 网元SGWC
sgwcGroup := neDataGroup.Group("/sgwc")
sgwcGroup := neLinkGroup.Group("/sgwc")
{
sgwcGroup.GET("/cdr/list",
middleware.AuthorizeUser(nil),
@@ -338,7 +338,7 @@ func Setup(router *gin.Engine) {
}
// 网元PCF
pcfGroup := neDataGroup.Group("/pcf")
pcfGroup := neLinkGroup.Group("/pcf")
{
pcfGroup.GET("/rule/list",
middleware.AuthorizeUser(nil),

View File

@@ -6,7 +6,7 @@ import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 CDREventIMS 结构体
@@ -19,9 +19,6 @@ type CDREventIMS struct{}
func (r CDREventIMS) SelectByPage(query model.CDREventIMSQuery) ([]model.CDREventIMS, int64) {
tx := db.DB("").Model(&model.CDREventIMS{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}

View File

@@ -3,7 +3,7 @@ package repository
import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 CDREventSGWC 结构体
@@ -16,9 +16,6 @@ type CDREventSGWC struct{}
func (r CDREventSGWC) SelectByPage(query model.CDREventSGWCQuery) ([]model.CDREventSGWC, int64) {
tx := db.DB("").Model(&model.CDREventSGWC{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}

View File

@@ -3,7 +3,7 @@ package repository
import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 CDREventSMF 结构体
@@ -16,9 +16,6 @@ type CDREventSMF struct{}
func (r CDREventSMF) SelectByPage(query model.CDREventSMFQuery) ([]model.CDREventSMF, int64) {
tx := db.DB("").Model(&model.CDREventSMF{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}
@@ -31,9 +28,6 @@ func (r CDREventSMF) SelectByPage(query model.CDREventSMFQuery) ([]model.CDREven
if query.EndTime != 0 {
tx = tx.Where("timestamp <= ?", query.EndTime)
}
if query.RecordType != "" {
tx = tx.Where("JSON_EXTRACT(cdr_json, '$.recordType') = ?", query.RecordType)
}
if query.SubscriberID != "" {
tx = tx.Where("JSON_EXTRACT(cdr_json, '$.subscriberIdentifier.subscriptionIDData') = ?", query.SubscriberID)
}

View File

@@ -6,7 +6,7 @@ import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 CDREventSMSC 结构体
@@ -19,9 +19,6 @@ type CDREventSMSC struct{}
func (r CDREventSMSC) SelectByPage(query model.CDREventSMSCQuery) ([]model.CDREventSMSC, int64) {
tx := db.DB("").Model(&model.CDREventSMSC{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}

View File

@@ -5,7 +5,7 @@ import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 UEEventAMF 结构体
@@ -18,9 +18,6 @@ type UEEventAMF struct{}
func (r UEEventAMF) SelectByPage(query model.UEEventAMFQuery) ([]model.UEEventAMF, int64) {
tx := db.DB("").Model(&model.UEEventAMF{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}

View File

@@ -5,7 +5,7 @@ import (
"be.ems/src/framework/database/db"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_link/model"
)
// 实例化数据层 UEEventMME 结构体
@@ -18,9 +18,6 @@ type UEEventMME struct{}
func (r UEEventMME) SelectByPage(query model.UEEventMMEQuery) ([]model.UEEventMME, int64) {
tx := db.DB("").Model(&model.UEEventMME{})
// 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", query.NeUID)
}

View File

@@ -10,8 +10,8 @@ import (
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service"
)

View File

@@ -9,8 +9,8 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
)
// 实例化数据层 CDREventSGWC 结构体

View File

@@ -8,8 +8,8 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
)
// 实例化数据层 CDREventSMF 结构体

View File

@@ -10,8 +10,8 @@ import (
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service"
)

View File

@@ -8,8 +8,8 @@ import (
"be.ems/src/framework/i18n"
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/file"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service"
)

View File

@@ -10,8 +10,8 @@ import (
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
"be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service"
)

View File

@@ -6,14 +6,14 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/resp"
neDataModel "be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neLinkModel "be.ems/src/modules/network_link/model"
neLinkService "be.ems/src/modules/network_link/service"
)
// GetCDRConnectByIMS 获取CDR会话事件-IMS
func GetCDRConnectByIMS(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.CDREventIMSQuery
var query neLinkModel.CDREventIMSQuery
err := json.Unmarshal(msgByte, &query)
if err != nil {
logger.Warnf("ws processor GetCDRConnect err: %s", err.Error())
@@ -24,7 +24,7 @@ func GetCDRConnectByIMS(requestID string, data any) ([]byte, error) {
return nil, fmt.Errorf("query coreUid/neUid is empty")
}
rows, total := neDataService.NewCDREventIMS.FindByPage(query)
rows, total := neLinkService.NewCDREventIMS.FindByPage(query)
resultByte, err := json.Marshal(resp.Ok(map[string]any{
"requestId": requestID,
"data": map[string]any{"rows": rows, "total": total},
@@ -35,14 +35,14 @@ func GetCDRConnectByIMS(requestID string, data any) ([]byte, error) {
// GetCDRConnectBySMF 获取CDR会话事件-SMF
func GetCDRConnectBySMF(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.CDREventSMFQuery
var query neLinkModel.CDREventSMFQuery
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")
}
rows, total := neDataService.NewCDREventSMF.FindByPage(query)
rows, total := neLinkService.NewCDREventSMF.FindByPage(query)
resultByte, err := json.Marshal(resp.Ok(map[string]any{
"requestId": requestID,
"data": map[string]any{"rows": rows, "total": total},
@@ -53,14 +53,14 @@ func GetCDRConnectBySMF(requestID string, data any) ([]byte, error) {
// GetCDRConnectBySMSC 获取CDR会话事件-SMSC
func GetCDRConnectBySMSC(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.CDREventSMSCQuery
var query neLinkModel.CDREventSMSCQuery
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")
}
rows, total := neDataService.NewCDREventSMSC.FindByPage(query)
rows, total := neLinkService.NewCDREventSMSC.FindByPage(query)
resultByte, err := json.Marshal(resp.Ok(map[string]any{
"requestId": requestID,
"data": map[string]any{"rows": rows, "total": total},

View File

@@ -6,14 +6,14 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/resp"
neDataModel "be.ems/src/modules/network_data/model"
neDataService "be.ems/src/modules/network_data/service"
neLinkModel "be.ems/src/modules/network_link/model"
neLinkService "be.ems/src/modules/network_link/service"
)
// GetUEConnectByAMF 获取UE会话事件-AMF
func GetUEConnectByAMF(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.UEEventAMFQuery
var query neLinkModel.UEEventAMFQuery
err := json.Unmarshal(msgByte, &query)
if err != nil {
logger.Warnf("ws processor GetUEConnectByAMF err: %s", err.Error())
@@ -24,7 +24,7 @@ func GetUEConnectByAMF(requestID string, data any) ([]byte, error) {
return nil, fmt.Errorf("query coreUid/neUid is empty")
}
rows, total := neDataService.NewUEEventAMF.FindByPage(query)
rows, total := neLinkService.NewUEEventAMF.FindByPage(query)
resultByte, err := json.Marshal(resp.Ok(map[string]any{
"requestId": requestID,
"data": map[string]any{"rows": rows, "total": total},
@@ -35,7 +35,7 @@ func GetUEConnectByAMF(requestID string, data any) ([]byte, error) {
// GetUEConnectByMME 获取UE会话事件-MME
func GetUEConnectByMME(requestID string, data any) ([]byte, error) {
msgByte, _ := json.Marshal(data)
var query neDataModel.UEEventMMEQuery
var query neLinkModel.UEEventMMEQuery
err := json.Unmarshal(msgByte, &query)
if err != nil {
logger.Warnf("ws processor GetUEConnectByMME err: %s", err.Error())
@@ -46,7 +46,7 @@ func GetUEConnectByMME(requestID string, data any) ([]byte, error) {
return nil, fmt.Errorf("query coreUid/neUid is empty")
}
rows, total := neDataService.NewUEEventMME.FindByPage(query)
rows, total := neLinkService.NewUEEventMME.FindByPage(query)
resultByte, err := json.Marshal(resp.Ok(map[string]any{
"requestId": requestID,
"data": map[string]any{"rows": rows, "total": total},