486 lines
15 KiB
Go
486 lines
15 KiB
Go
package networkdata
|
||
|
||
import (
|
||
"be.ems/src/framework/logger"
|
||
"be.ems/src/framework/middleware"
|
||
"be.ems/src/framework/middleware/collectlogs"
|
||
"be.ems/src/framework/middleware/repeat"
|
||
"be.ems/src/modules/network_data/controller"
|
||
"be.ems/src/modules/network_data/service"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// 模块路由注册
|
||
func Setup(router *gin.Engine) {
|
||
logger.Infof("开始加载 ====> network_data 模块路由")
|
||
|
||
// 启动时需要的初始参数
|
||
InitLoad()
|
||
|
||
neDataGroup := router.Group("/neData")
|
||
|
||
// 性能统计信息
|
||
kpiGroup := neDataGroup.Group("/kpi")
|
||
{
|
||
kpiGroup.GET("/title",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewKPI.KPITitle,
|
||
)
|
||
kpiGroup.GET("/data",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewKPI.KPIData,
|
||
)
|
||
}
|
||
|
||
// 告警数据信息
|
||
alarmGroup := neDataGroup.Group("/alarm")
|
||
{
|
||
alarmGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAlarm.List,
|
||
)
|
||
alarmGroup.DELETE("/:id",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAlarm.Remove,
|
||
)
|
||
alarmGroup.PUT("/clear",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.alarm", collectlogs.BUSINESS_TYPE_UPDATE)),
|
||
controller.NewAlarm.Clear,
|
||
)
|
||
alarmGroup.PUT("/ack",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.alarm", collectlogs.BUSINESS_TYPE_UPDATE)),
|
||
controller.NewAlarm.Ack,
|
||
)
|
||
alarmGroup.GET("/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.alarm", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewAlarm.Export,
|
||
)
|
||
}
|
||
|
||
// 告警日志数据信息
|
||
alarmLogGroup := neDataGroup.Group("/alarm/log")
|
||
{
|
||
alarmLogGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAlarmLog.List,
|
||
)
|
||
|
||
alarmLogGroup.GET("/event",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAlarmLog.Event,
|
||
)
|
||
}
|
||
|
||
// 告警转发数据信息
|
||
alarmForwardGroup := neDataGroup.Group("/alarm/forward")
|
||
{
|
||
alarmForwardGroup.GET("/log/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAlarmForward.List,
|
||
)
|
||
}
|
||
|
||
// 基站状态历史记录信息 含AMF/MME
|
||
nbStateGroup := neDataGroup.Group("/nb-state")
|
||
{
|
||
nbStateGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewNBState.List,
|
||
)
|
||
nbStateGroup.POST("/export",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewNBState.Export,
|
||
)
|
||
}
|
||
|
||
// 网元IMS
|
||
imsGroup := neDataGroup.Group("/ims")
|
||
{
|
||
imsGroup.GET("/cdr/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewIMS.CDRList,
|
||
)
|
||
imsGroup.DELETE("/cdr/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewIMS.CDRRemove,
|
||
)
|
||
imsGroup.POST("/cdr/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewIMS.CDRExport,
|
||
)
|
||
imsGroup.GET("/session/num",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewIMS.UeSessionNum,
|
||
)
|
||
imsGroup.GET("/session/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewIMS.UeSessionList,
|
||
)
|
||
}
|
||
|
||
// 网元SMSC
|
||
smscGroup := neDataGroup.Group("/smsc")
|
||
{
|
||
smscGroup.GET("/cdr/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewSMSC.CDRList,
|
||
)
|
||
smscGroup.DELETE("/cdr/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smscCDR", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewSMSC.CDRRemove,
|
||
)
|
||
smscGroup.POST("/cdr/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smscCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewSMSC.CDRExport,
|
||
)
|
||
}
|
||
|
||
// 网元SMF
|
||
smfGroup := neDataGroup.Group("/smf")
|
||
{
|
||
smfGroup.GET("/cdr/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewSMF.CDRList,
|
||
)
|
||
smfGroup.DELETE("/cdr/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewSMF.CDRRemove,
|
||
)
|
||
smfGroup.POST("/cdr/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewSMF.CDRExport,
|
||
)
|
||
smfGroup.GET("/sub/num",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewSMF.SubUserNum,
|
||
)
|
||
smfGroup.GET("/sub/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewSMF.SubUserList,
|
||
)
|
||
}
|
||
|
||
// 网元AMF
|
||
amfGroup := neDataGroup.Group("/amf")
|
||
{
|
||
amfGroup.GET("/ue/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAMF.UEList,
|
||
)
|
||
amfGroup.DELETE("/ue/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewAMF.UERemove,
|
||
)
|
||
amfGroup.POST("/ue/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewAMF.UEExport,
|
||
)
|
||
amfGroup.GET("/nb/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAMF.NbInfoList,
|
||
)
|
||
amfGroup.GET("/nb/list-cfg",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewAMF.NbStateList,
|
||
)
|
||
}
|
||
|
||
// 网元UPF
|
||
upfGroup := neDataGroup.Group("/upf")
|
||
{
|
||
upfGroup.GET("/flow-total",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUPF.FlowTotal,
|
||
)
|
||
}
|
||
|
||
// 备份数据
|
||
backupGroup := neDataGroup.Group("/backup")
|
||
{
|
||
backupGroup.GET("/ftp",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewBackup.FTPInfo,
|
||
)
|
||
backupGroup.PUT("/ftp",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.backup", collectlogs.BUSINESS_TYPE_OTHER)),
|
||
controller.NewBackup.FTPUpdate,
|
||
)
|
||
backupGroup.POST("/ftp",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.backup", collectlogs.BUSINESS_TYPE_OTHER)),
|
||
controller.NewBackup.FTPPush,
|
||
)
|
||
}
|
||
|
||
// 网元UDM 鉴权用户信息
|
||
udmAuthGroup := neDataGroup.Group("/udm/auth")
|
||
{
|
||
udmAuthGroup.PUT("/resetData/:neId",
|
||
repeat.RepeatSubmit(5),
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_CLEAN)),
|
||
controller.NewUDMAuth.ResetData,
|
||
)
|
||
udmAuthGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMAuth.List,
|
||
)
|
||
udmAuthGroup.GET("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMAuth.Info,
|
||
)
|
||
udmAuthGroup.POST("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMAuth.Add,
|
||
)
|
||
udmAuthGroup.POST("/:neId/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMAuth.Adds,
|
||
)
|
||
udmAuthGroup.PUT("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_UPDATE)),
|
||
controller.NewUDMAuth.Edit,
|
||
)
|
||
udmAuthGroup.DELETE("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMAuth.Remove,
|
||
)
|
||
udmAuthGroup.DELETE("/:neId/:imsi/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMAuth.Removes,
|
||
)
|
||
udmAuthGroup.GET("/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewUDMAuth.Export,
|
||
)
|
||
udmAuthGroup.POST("/import",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_IMPORT)),
|
||
controller.NewUDMAuth.Import,
|
||
)
|
||
}
|
||
|
||
// 网元UDM 签约用户信息
|
||
udmSubGroup := neDataGroup.Group("/udm/sub")
|
||
{
|
||
udmSubGroup.PUT("/resetData/:neId",
|
||
repeat.RepeatSubmit(5),
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_CLEAN)),
|
||
controller.NewUDMSub.ResetData,
|
||
)
|
||
udmSubGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMSub.List,
|
||
)
|
||
udmSubGroup.GET("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMSub.Info,
|
||
)
|
||
udmSubGroup.POST("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMSub.Add,
|
||
)
|
||
udmSubGroup.POST("/:neId/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMSub.Adds,
|
||
)
|
||
udmSubGroup.PUT("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_UPDATE)),
|
||
controller.NewUDMSub.Edit,
|
||
)
|
||
udmSubGroup.DELETE("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMSub.Remove,
|
||
)
|
||
udmSubGroup.DELETE("/:neId/:imsi/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMSub.Removes,
|
||
)
|
||
udmSubGroup.GET("/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewUDMSub.Export,
|
||
)
|
||
udmSubGroup.POST("/import",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_IMPORT)),
|
||
controller.NewUDMSub.Import,
|
||
)
|
||
}
|
||
|
||
// 网元UDM VOIP用户信息
|
||
udmVOIPGroup := neDataGroup.Group("/udm/voip")
|
||
{
|
||
udmVOIPGroup.PUT("/resetData/:neId",
|
||
repeat.RepeatSubmit(5),
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_CLEAN)),
|
||
controller.NewUDMVOIP.ResetData,
|
||
)
|
||
udmVOIPGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMVOIP.List,
|
||
)
|
||
udmVOIPGroup.GET("/:neId/:username",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMVOIP.Info,
|
||
)
|
||
udmVOIPGroup.POST("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMVOIP.Add,
|
||
)
|
||
udmVOIPGroup.POST("/:neId/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMVOIP.Adds,
|
||
)
|
||
udmVOIPGroup.DELETE("/:neId/:username",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMVOIP.Remove,
|
||
)
|
||
udmVOIPGroup.DELETE("/:neId/:username/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMVOIP.Removes,
|
||
)
|
||
udmVOIPGroup.GET("/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewUDMVOIP.Export,
|
||
)
|
||
udmVOIPGroup.POST("/import",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_IMPORT)),
|
||
controller.NewUDMVOIP.Import,
|
||
)
|
||
}
|
||
|
||
// 网元UDM VolteIMS用户信息
|
||
udmVolteIMSGroup := neDataGroup.Group("/udm/volte-ims")
|
||
{
|
||
udmVolteIMSGroup.PUT("/resetData/:neId",
|
||
repeat.RepeatSubmit(5),
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_CLEAN)),
|
||
controller.NewUDMVolteIMS.ResetData,
|
||
)
|
||
udmVolteIMSGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMVolteIMS.List,
|
||
)
|
||
udmVolteIMSGroup.GET("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewUDMVolteIMS.Info,
|
||
)
|
||
udmVolteIMSGroup.POST("/:neId",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMVolteIMS.Add,
|
||
)
|
||
udmVolteIMSGroup.POST("/:neId/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_INSERT)),
|
||
controller.NewUDMVolteIMS.Adds,
|
||
)
|
||
udmVolteIMSGroup.DELETE("/:neId/:imsi",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMVolteIMS.Remove,
|
||
)
|
||
udmVolteIMSGroup.DELETE("/:neId/:imsi/:num",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewUDMVolteIMS.Removes,
|
||
)
|
||
udmVolteIMSGroup.GET("/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewUDMVolteIMS.Export,
|
||
)
|
||
udmVolteIMSGroup.POST("/import",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_IMPORT)),
|
||
controller.NewUDMVolteIMS.Import,
|
||
)
|
||
}
|
||
|
||
// 网元MME
|
||
mmeGroup := neDataGroup.Group("/mme")
|
||
{
|
||
mmeGroup.GET("/ue/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewMME.UEList,
|
||
)
|
||
mmeGroup.DELETE("/ue/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewMME.UERemove,
|
||
)
|
||
mmeGroup.POST("/ue/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewMME.UEExport,
|
||
)
|
||
mmeGroup.GET("/nb/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewMME.NbInfoList,
|
||
)
|
||
mmeGroup.GET("/nb/list-cfg",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewMME.NbStateList,
|
||
)
|
||
}
|
||
|
||
// 网元SGWC
|
||
sgwcGroup := neDataGroup.Group("/sgwc")
|
||
{
|
||
sgwcGroup.GET("/cdr/list",
|
||
middleware.PreAuthorize(nil),
|
||
controller.NewSGWC.CDRList,
|
||
)
|
||
sgwcGroup.DELETE("/cdr/:id",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_DELETE)),
|
||
controller.NewSGWC.CDRRemove,
|
||
)
|
||
sgwcGroup.POST("/cdr/export",
|
||
middleware.PreAuthorize(nil),
|
||
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
|
||
controller.NewSGWC.CDRExport,
|
||
)
|
||
}
|
||
}
|
||
|
||
// InitLoad 初始参数
|
||
func InitLoad() {
|
||
// 启动时,加载UPF上下行流量
|
||
go service.NewKpiReport.UPFTodayFlowLoad(30)
|
||
}
|