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

View File

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

View File

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

View File

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

View File

@@ -38,7 +38,7 @@ type AlarmForwardController struct {
// @Security TokenAuth // @Security TokenAuth
// @Summary Alarm Forward Log List // @Summary Alarm Forward Log List
// @Description 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) { func (s AlarmForwardController) List(c *gin.Context) {
var query model.AlarmForwardLogQuery var query model.AlarmForwardLogQuery
if err := c.ShouldBindQuery(&query); err != nil { if err := c.ShouldBindQuery(&query); err != nil {

View File

@@ -44,7 +44,7 @@ type AlarmLogController struct {
// @Security TokenAuth // @Security TokenAuth
// @Summary AlarmLog List // @Summary AlarmLog List
// @Description 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) { func (s AlarmLogController) List(c *gin.Context) {
var query model.AlarmLogQuery var query model.AlarmLogQuery
if err := c.ShouldBindQuery(&query); err != nil { if err := c.ShouldBindQuery(&query); err != nil {
@@ -77,7 +77,7 @@ func (s AlarmLogController) List(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary Alarm Event Log List // @Summary Alarm Event Log List
// @Description 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) { func (s AlarmLogController) Event(c *gin.Context) {
var query model.AlarmEventQuery var query model.AlarmEventQuery
if err := c.ShouldBindQuery(&query); err != nil { if err := c.ShouldBindQuery(&query); err != nil {

View File

@@ -41,7 +41,7 @@ type KPIController struct {
// @Security TokenAuth // @Security TokenAuth
// @Summary Access to statistical data // @Summary Access to statistical data
// @Description 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) { func (s KPIController) KPIData(c *gin.Context) {
var querys model.KPIQuery var querys model.KPIQuery
if err := c.ShouldBindQuery(&querys); err != nil { if err := c.ShouldBindQuery(&querys); err != nil {
@@ -67,7 +67,7 @@ func (s KPIController) KPIData(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary Get Statistical Headings // @Summary Get Statistical Headings
// @Description 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) { func (s KPIController) KPITitle(c *gin.Context) {
neType := c.Query("neType") neType := c.Query("neType")
if neType == "" { if neType == "" {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -24,7 +24,7 @@ func (*AlarmLog) TableName() string {
// AlarmLogQuery 告警日志数据查询参数结构体 // AlarmLogQuery 告警日志数据查询参数结构体
type AlarmLogQuery struct { type AlarmLogQuery struct {
CoreUID string `json:"coreUid" form:"coreUid"` // 核心网唯一标识 CoreUID string `json:"coreUid" form:"coreUid" binding:"required"` // 核心网唯一标识
NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识 NeUID string `json:"neUid" form:"neUid"` // 网元唯一标识
NeType string `json:"neType" form:"neType"` // 网元类型 NeType string `json:"neType" form:"neType"` // 网元类型
AlarmStatus string `json:"alarmStatus" form:"alarmStatus" binding:"omitempty,oneof=0 1"` // 告警状态 0:clear, 1:active 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", neStateGroup.GET("/list",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
@@ -93,13 +93,13 @@ func Setup(router *gin.Engine) {
} }
// 基站状态历史记录信息 含AMF/MME // 基站状态历史记录信息 含AMF/MME
nbStateGroup := neDataGroup.Group("/nb-state") nbStateGroup := neDataGroup.Group("/state/nb")
{ {
nbStateGroup.GET("/list", nbStateGroup.GET("/list",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNBState.List, controller.NewNBState.List,
) )
nbStateGroup.POST("/export", nbStateGroup.GET("/export",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNBState.Export, controller.NewNBState.Export,
) )

View File

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

View File

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

View File

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

View File

@@ -20,26 +20,26 @@ func Setup(router *gin.Engine) {
// 网元操作处理 // 网元操作处理
neActionGroup := router.Group("/ne/action") neActionGroup := router.Group("/ne/action")
{ {
neActionGroup.GET("/files", neActionGroup.GET("/file/list",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNeAction.Files, controller.NewNeAction.FileList,
) )
neActionGroup.GET("/pullFile", neActionGroup.GET("/file/pull/dirzip",
middleware.AuthorizeUser(nil), 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), middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_IMPORT)), 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), middleware.AuthorizeUser(nil),
controller.NewNeAction.PullDirZip, controller.NewNeAction.FileView,
)
neActionGroup.GET("/viewFile",
middleware.AuthorizeUser(nil),
controller.NewNeAction.ViewFile,
) )
neActionGroup.PUT("/service", neActionGroup.PUT("/service",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
@@ -55,9 +55,9 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNeInfo.State, controller.NewNeInfo.State,
) )
neInfoGroup.GET("/core-ne-uid", neInfoGroup.GET("/nf",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNeInfo.CoreUidAndNeUid, controller.NewNeInfo.Nf,
) )
neInfoGroup.GET("/list/all", neInfoGroup.GET("/list/all",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
@@ -248,9 +248,9 @@ func Setup(router *gin.Engine) {
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNeLicense.Info, controller.NewNeLicense.Info,
) )
neLicenseGroup.GET("/byTypeAndID", neLicenseGroup.GET("/nf",
middleware.AuthorizeUser(nil), middleware.AuthorizeUser(nil),
controller.NewNeLicense.NeTypeAndID, controller.NewNeLicense.Nf,
) )
neLicenseGroup.GET("/code", neLicenseGroup.GET("/code",
middleware.AuthorizeUser(nil), 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 != "" { if v, ok := query["neId"]; ok && v != "" {
tx = tx.Where("neId = ?", 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 != "" { if v, ok := query["name"]; ok && v != "" {
tx = tx.Where("name like ?", fmt.Sprintf("%%%s%%", 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) tx = tx.Where("core_uid = ?", v)
} }
if v, ok := query["neUid"]; ok && 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 != "" { if v, ok := query["neUid"]; ok && v != "" {
tx = tx.Where("ne_uid = ?", 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 != "" { 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 != "" { 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 != "" { if v, ok := query["createBy"]; ok && v != "" {
tx = tx.Where("create_by like ?", fmt.Sprintf("%s%%", 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 != "" { if param.NeUID != "" {
tx = tx.Where("ne_uid = ?", param.NeUID) tx = tx.Where("ne_uid = ?", param.NeUID)
} }
if param.NeType != "" {
tx = tx.Where("ne_type = ?", param.NeType)
}
if param.ExpiryDate != "" { if param.ExpiryDate != "" {
tx = tx.Where("expiry_date = ?", param.ExpiryDate) tx = tx.Where("expiry_date = ?", param.ExpiryDate)
} }
if param.SerialNum != "" {
tx = tx.Where("serial_num = ?", param.SerialNum)
}
if param.CreateBy != "" { if param.CreateBy != "" {
tx = tx.Where("create_by like ?", fmt.Sprintf("%s%%", 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 != "" { if v, ok := query["neType"]; ok && v != "" {
tx = tx.Where("ne_type = ?", 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 != "" { if v, ok := query["neUid"]; ok && v != "" {
tx = tx.Where("ne_uid = ?", v) tx = tx.Where("ne_uid = ?", v)
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -47,7 +47,7 @@ type UDMAuthController struct {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authentication User Data Refresh // @Summary UDM Authentication User Data Refresh
// @Description UDM Authenticated User Data List Refresh Synchronization Latest // @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) { func (s *UDMAuthController) ResetData(c *gin.Context) {
var query struct { var query struct {
CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识 CoreUID string `form:"coreUid" binding:"required"` // 核心网唯一标识
@@ -78,7 +78,7 @@ func (s *UDMAuthController) ResetData(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authentication User List // @Summary UDM Authentication User List
// @Description 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) { func (s *UDMAuthController) List(c *gin.Context) {
query := reqctx.QueryMap(c) query := reqctx.QueryMap(c)
total, rows := s.udmAuthService.FindByPage(query) total, rows := s.udmAuthService.FindByPage(query)
@@ -99,7 +99,7 @@ func (s *UDMAuthController) List(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authentication User Information // @Summary UDM Authentication User Information
// @Description 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) { func (s *UDMAuthController) Info(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
var query struct { var query struct {
@@ -159,7 +159,7 @@ func (s *UDMAuthController) Info(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authentication User Added // @Summary UDM Authentication User Added
// @Description 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) { func (s *UDMAuthController) Add(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
// 传入数量大于0时为批量新增 // 传入数量大于0时为批量新增
@@ -242,7 +242,7 @@ func (s *UDMAuthController) Add(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authenticated User Modification // @Summary UDM Authenticated User Modification
// @Description 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) { func (s *UDMAuthController) Edit(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
var body model.UDMAuthUser var body model.UDMAuthUser
@@ -299,7 +299,7 @@ func (s *UDMAuthController) Edit(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authenticated User Deletion // @Summary UDM Authenticated User Deletion
// @Description 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) { func (s *UDMAuthController) Remove(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
var query struct { var query struct {
@@ -387,7 +387,7 @@ func (s *UDMAuthController) Remove(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authenticated User Export // @Summary UDM Authenticated User Export
// @Description 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) { func (s *UDMAuthController) Export(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
neUid := c.Query("neUid") neUid := c.Query("neUid")
@@ -468,7 +468,7 @@ func (s *UDMAuthController) Export(c *gin.Context) {
// @Security TokenAuth // @Security TokenAuth
// @Summary UDM Authenticated User Import // @Summary UDM Authenticated User Import
// @Description 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) { func (s *UDMAuthController) Import(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
var body struct { var body struct {

View File

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

View File

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

View File

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

View File

@@ -40,7 +40,7 @@ type UPFController struct {
// @Security TokenAuth // @Security TokenAuth
// @Summary Total number of flows N3 upstream N6 downstream // @Summary Total number of flows N3 upstream N6 downstream
// @Description 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) { func (s UPFController) FlowTotal(c *gin.Context) {
language := reqctx.AcceptLanguage(c) language := reqctx.AcceptLanguage(c)
var querys struct { var querys struct {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@ package repository
import ( import (
"be.ems/src/framework/database/db" "be.ems/src/framework/database/db"
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
) )
// 实例化数据层 CDREventSMF 结构体 // 实例化数据层 CDREventSMF 结构体
@@ -16,9 +16,6 @@ type CDREventSMF struct{}
func (r CDREventSMF) SelectByPage(query model.CDREventSMFQuery) ([]model.CDREventSMF, int64) { func (r CDREventSMF) SelectByPage(query model.CDREventSMFQuery) ([]model.CDREventSMF, int64) {
tx := db.DB("").Model(&model.CDREventSMF{}) tx := db.DB("").Model(&model.CDREventSMF{})
// 查询条件拼接 // 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" { if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", 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 { if query.EndTime != 0 {
tx = tx.Where("timestamp <= ?", query.EndTime) tx = tx.Where("timestamp <= ?", query.EndTime)
} }
if query.RecordType != "" {
tx = tx.Where("JSON_EXTRACT(cdr_json, '$.recordType') = ?", query.RecordType)
}
if query.SubscriberID != "" { if query.SubscriberID != "" {
tx = tx.Where("JSON_EXTRACT(cdr_json, '$.subscriberIdentifier.subscriptionIDData') = ?", 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/database/db"
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
) )
// 实例化数据层 CDREventSMSC 结构体 // 实例化数据层 CDREventSMSC 结构体
@@ -19,9 +19,6 @@ type CDREventSMSC struct{}
func (r CDREventSMSC) SelectByPage(query model.CDREventSMSCQuery) ([]model.CDREventSMSC, int64) { func (r CDREventSMSC) SelectByPage(query model.CDREventSMSCQuery) ([]model.CDREventSMSC, int64) {
tx := db.DB("").Model(&model.CDREventSMSC{}) tx := db.DB("").Model(&model.CDREventSMSC{})
// 查询条件拼接 // 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" { if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", 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/database/db"
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
) )
// 实例化数据层 UEEventAMF 结构体 // 实例化数据层 UEEventAMF 结构体
@@ -18,9 +18,6 @@ type UEEventAMF struct{}
func (r UEEventAMF) SelectByPage(query model.UEEventAMFQuery) ([]model.UEEventAMF, int64) { func (r UEEventAMF) SelectByPage(query model.UEEventAMFQuery) ([]model.UEEventAMF, int64) {
tx := db.DB("").Model(&model.UEEventAMF{}) tx := db.DB("").Model(&model.UEEventAMF{})
// 查询条件拼接 // 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" { if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", 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/database/db"
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
) )
// 实例化数据层 UEEventMME 结构体 // 实例化数据层 UEEventMME 结构体
@@ -18,9 +18,6 @@ type UEEventMME struct{}
func (r UEEventMME) SelectByPage(query model.UEEventMMEQuery) ([]model.UEEventMME, int64) { func (r UEEventMME) SelectByPage(query model.UEEventMMEQuery) ([]model.UEEventMME, int64) {
tx := db.DB("").Model(&model.UEEventMME{}) tx := db.DB("").Model(&model.UEEventMME{})
// 查询条件拼接 // 查询条件拼接
if query.NeType != "" {
tx = tx.Where("ne_type = ?", query.NeType)
}
if query.NeUID != "" { if query.NeUID != "" {
tx = tx.Where("ne_uid = ?", 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/date"
"be.ems/src/framework/utils/file" "be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse" "be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_data/repository" "be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service" sysService "be.ems/src/modules/system/service"
) )

View File

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

View File

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

View File

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

View File

@@ -8,8 +8,8 @@ import (
"be.ems/src/framework/i18n" "be.ems/src/framework/i18n"
"be.ems/src/framework/logger" "be.ems/src/framework/logger"
"be.ems/src/framework/utils/file" "be.ems/src/framework/utils/file"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_data/repository" "be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service" 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/date"
"be.ems/src/framework/utils/file" "be.ems/src/framework/utils/file"
"be.ems/src/framework/utils/parse" "be.ems/src/framework/utils/parse"
"be.ems/src/modules/network_data/model" "be.ems/src/modules/network_link/model"
"be.ems/src/modules/network_data/repository" "be.ems/src/modules/network_link/repository"
sysService "be.ems/src/modules/system/service" sysService "be.ems/src/modules/system/service"
) )

View File

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

View File

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