diff --git a/features/fm/alarm.go b/features/fm/alarm.go index 9afab828..c9168b51 100644 --- a/features/fm/alarm.go +++ b/features/fm/alarm.go @@ -18,9 +18,9 @@ import ( "be.ems/src/framework/utils/date" neDataModel "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" traceService "be.ems/src/modules/trace/service" wsService "be.ems/src/modules/ws/service" ) diff --git a/src/app.go b/src/app.go index 2f47f4ed..7e65c102 100644 --- a/src/app.go +++ b/src/app.go @@ -11,10 +11,12 @@ import ( "be.ems/src/modules/auth" "be.ems/src/modules/chart" "be.ems/src/modules/common" + "be.ems/src/modules/core" "be.ems/src/modules/crontask" "be.ems/src/modules/monitor" networkdata "be.ems/src/modules/network_data" networkelement "be.ems/src/modules/network_element" + networklink "be.ems/src/modules/network_link" "be.ems/src/modules/oauth2" "be.ems/src/modules/system" "be.ems/src/modules/tool" @@ -89,10 +91,15 @@ func ModulesRoute(app *gin.Engine) { // 通用模块 common.Setup(app) + // 核心网模块 + core.Setup(app) + // 网元功能模块 networkelement.Setup(app) // 网元数据模块 networkdata.Setup(app) + // 网元直连模块 + networklink.Setup(app) // 跟踪模块 trace.Setup(app) diff --git a/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go b/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go index ffb05a70..a83aa309 100644 --- a/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go +++ b/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go @@ -10,20 +10,21 @@ import ( "be.ems/src/framework/cron" "be.ems/src/framework/logger" "be.ems/src/framework/utils/file" - neDataModel "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neLinkModel "be.ems/src/modules/network_link/model" + neLinkService "be.ems/src/modules/network_link/service" ) var NewProcessor = &BackupExportUDMProcessor{ count: 0, neInfoService: neService.NewNeInfo, backupService: neDataService.NewBackup, - udmAuthService: neDataService.NewUDMAuthUser, - udmSubService: neDataService.NewUDMSubUser, - udmVOIPService: neDataService.NewUDMVOIPUser, - udmVolteIMSService: neDataService.NewUDMVolteIMSUser, + udmAuthService: neLinkService.NewUDMAuthUser, + udmSubService: neLinkService.NewUDMSubUser, + udmVOIPService: neLinkService.NewUDMVOIPUser, + udmVolteIMSService: neLinkService.NewUDMVolteIMSUser, } // BackupExportUDM 队列任务处理 @@ -31,10 +32,10 @@ type BackupExportUDMProcessor struct { count int // 执行次数 neInfoService *neService.NeInfo // 网元信息服务 backupService *neDataService.Backup // 备份相关服务 - udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息服务 - udmSubService *neDataService.UDMSubUser // UDM签约信息服务 - udmVOIPService *neDataService.UDMVOIPUser // UDMVOIP信息服务 - udmVolteIMSService *neDataService.UDMVolteIMSUser // UDMVolteIMS信息服务 + udmAuthService *neLinkService.UDMAuthUser // UDM鉴权信息服务 + udmSubService *neLinkService.UDMSubUser // UDM签约信息服务 + udmVOIPService *neLinkService.UDMVOIPUser // UDMVOIP信息服务 + udmVolteIMSService *neLinkService.UDMVolteIMSUser // UDMVolteIMS信息服务 } func (s *BackupExportUDMProcessor) Execute(data any) (any, error) { @@ -80,7 +81,7 @@ func (s *BackupExportUDMProcessor) Execute(data any) (any, error) { // exportAuth 导出鉴权用户数据 func (s BackupExportUDMProcessor) exportAuth(coreUid, neUid, fileType string) string { - rows := s.udmAuthService.Find(neDataModel.UDMAuthUser{CoreUID: coreUid, NeUID: neUid}) + rows := s.udmAuthService.Find(neLinkModel.UDMAuthUser{CoreUID: coreUid, NeUID: neUid}) if len(rows) <= 0 { return "no data" } @@ -134,7 +135,7 @@ func (s BackupExportUDMProcessor) exportAuth(coreUid, neUid, fileType string) st // exportSub 导出签约用户数据 func (s BackupExportUDMProcessor) exportSub(coreUid, neUid, fileType string) string { - rows := s.udmSubService.Find(neDataModel.UDMSubUser{CoreUID: coreUid, NeUID: neUid}) + rows := s.udmSubService.Find(neLinkModel.UDMSubUser{CoreUID: coreUid, NeUID: neUid}) if len(rows) <= 0 { return "no data" } @@ -182,7 +183,7 @@ func (s BackupExportUDMProcessor) exportSub(coreUid, neUid, fileType string) str // exportVOIP 导出VOIP用户数据 func (s BackupExportUDMProcessor) exportVOIP(coreUid, neUid, fileType string) string { - rows := s.udmVOIPService.Find(neDataModel.UDMVOIPUser{CoreUID: coreUid, NeUID: neUid}) + rows := s.udmVOIPService.Find(neLinkModel.UDMVOIPUser{CoreUID: coreUid, NeUID: neUid}) if len(rows) <= 0 { return "no data" } @@ -228,7 +229,7 @@ func (s BackupExportUDMProcessor) exportVOIP(coreUid, neUid, fileType string) st // exportVolte 导出Volte用户数据 func (s BackupExportUDMProcessor) exportVolte(coreUid, neUid, fileType string) string { - rows := s.udmVolteIMSService.Find(neDataModel.UDMVolteIMSUser{CoreUID: coreUid, NeUID: neUid}) + rows := s.udmVolteIMSService.Find(neLinkModel.UDMVolteIMSUser{CoreUID: coreUid, NeUID: neUid}) if len(rows) <= 0 { return "no data" } diff --git a/src/modules/crontask/processor/ne_data_udm/ne_data_udm.go b/src/modules/crontask/processor/ne_data_udm/ne_data_udm.go index 47bc44af..3d503ddb 100644 --- a/src/modules/crontask/processor/ne_data_udm/ne_data_udm.go +++ b/src/modules/crontask/processor/ne_data_udm/ne_data_udm.go @@ -5,22 +5,22 @@ import ( "be.ems/src/framework/cron" "be.ems/src/framework/logger" - neDataService "be.ems/src/modules/network_data/service" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neLinkService "be.ems/src/modules/network_link/service" ) var NewProcessor = &NeDataUDM{ - udmAuthService: neDataService.NewUDMAuthUser, - udmSubService: neDataService.NewUDMSubUser, + udmAuthService: neLinkService.NewUDMAuthUser, + udmSubService: neLinkService.NewUDMSubUser, neInfoService: neService.NewNeInfo, count: 0, } // NeDataUDM 网元配置文件定期备份 type NeDataUDM struct { - udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息 - udmSubService *neDataService.UDMSubUser // UDM签约信息 + udmAuthService *neLinkService.UDMAuthUser // UDM鉴权信息 + udmSubService *neLinkService.UDMSubUser // UDM签约信息 neInfoService *neService.NeInfo // 网元信息服务 count int // 执行次数 } diff --git a/src/modules/network_data/network_data.go b/src/modules/network_data/network_data.go index abeb73ef..afdd45b8 100644 --- a/src/modules/network_data/network_data.go +++ b/src/modules/network_data/network_data.go @@ -4,7 +4,6 @@ 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" @@ -106,115 +105,6 @@ func Setup(router *gin.Engine) { ) } - // 网元IMS - imsGroup := neDataGroup.Group("/ims") - { - imsGroup.GET("/cdr/list", - middleware.AuthorizeUser(nil), - controller.NewIMS.CDRList, - ) - imsGroup.DELETE("/cdr/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewIMS.CDRRemove, - ) - imsGroup.POST("/cdr/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewIMS.CDRExport, - ) - imsGroup.GET("/session/num", - middleware.AuthorizeUser(nil), - controller.NewIMS.UeSessionNum, - ) - imsGroup.GET("/session/list", - middleware.AuthorizeUser(nil), - controller.NewIMS.UeSessionList, - ) - } - - // 网元SMSC - smscGroup := neDataGroup.Group("/smsc") - { - smscGroup.GET("/cdr/list", - middleware.AuthorizeUser(nil), - controller.NewSMSC.CDRList, - ) - smscGroup.DELETE("/cdr/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smscCDR", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewSMSC.CDRRemove, - ) - smscGroup.POST("/cdr/export", - middleware.AuthorizeUser(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.AuthorizeUser(nil), - controller.NewSMF.CDRList, - ) - smfGroup.DELETE("/cdr/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewSMF.CDRRemove, - ) - smfGroup.POST("/cdr/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewSMF.CDRExport, - ) - smfGroup.GET("/sub/num", - middleware.AuthorizeUser(nil), - controller.NewSMF.SubUserNum, - ) - smfGroup.GET("/sub/list", - middleware.AuthorizeUser(nil), - controller.NewSMF.SubUserList, - ) - } - - // 网元AMF - amfGroup := neDataGroup.Group("/amf") - { - amfGroup.GET("/ue/list", - middleware.AuthorizeUser(nil), - controller.NewAMF.UEList, - ) - amfGroup.DELETE("/ue/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewAMF.UERemove, - ) - amfGroup.POST("/ue/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewAMF.UEExport, - ) - amfGroup.GET("/nb/list", - middleware.AuthorizeUser(nil), - controller.NewAMF.NbInfoList, - ) - amfGroup.GET("/nb/list-cfg", - middleware.AuthorizeUser(nil), - controller.NewAMF.NbStateList, - ) - } - - // 网元UPF - upfGroup := neDataGroup.Group("/upf") - { - upfGroup.GET("/flow-total", - middleware.AuthorizeUser(nil), - controller.NewUPF.FlowTotal, - ) - } - // 备份数据 backupGroup := neDataGroup.Group("/backup") { @@ -234,251 +124,6 @@ func Setup(router *gin.Engine) { ) } - // 网元UDM 鉴权用户信息 - udmAuthGroup := neDataGroup.Group("/udm/auth") - { - udmAuthGroup.PUT("/reset", - repeat.RepeatSubmit(5), - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_CLEAN)), - controller.NewUDMAuth.ResetData, - ) - udmAuthGroup.GET("/list", - middleware.AuthorizeUser(nil), - controller.NewUDMAuth.List, - ) - udmAuthGroup.GET("", - middleware.AuthorizeUser(nil), - controller.NewUDMAuth.Info, - ) - udmAuthGroup.POST("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_INSERT)), - controller.NewUDMAuth.Add, - ) - udmAuthGroup.PUT("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_UPDATE)), - controller.NewUDMAuth.Edit, - ) - udmAuthGroup.DELETE("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewUDMAuth.Remove, - ) - udmAuthGroup.GET("/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewUDMAuth.Export, - ) - udmAuthGroup.POST("/import", - middleware.AuthorizeUser(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.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_CLEAN)), - controller.NewUDMSub.ResetData, - ) - udmSubGroup.GET("/list", - middleware.AuthorizeUser(nil), - controller.NewUDMSub.List, - ) - udmSubGroup.GET("", - middleware.AuthorizeUser(nil), - controller.NewUDMSub.Info, - ) - udmSubGroup.POST("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_INSERT)), - controller.NewUDMSub.Add, - ) - udmSubGroup.PUT("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_UPDATE)), - controller.NewUDMSub.Edit, - ) - udmSubGroup.DELETE("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewUDMSub.Remove, - ) - udmSubGroup.GET("/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewUDMSub.Export, - ) - udmSubGroup.POST("/import", - middleware.AuthorizeUser(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("/reset", - repeat.RepeatSubmit(5), - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_CLEAN)), - controller.NewUDMVOIP.ResetData, - ) - udmVOIPGroup.GET("/list", - middleware.AuthorizeUser(nil), - controller.NewUDMVOIP.List, - ) - udmVOIPGroup.GET("", - middleware.AuthorizeUser(nil), - controller.NewUDMVOIP.Info, - ) - udmVOIPGroup.POST("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_INSERT)), - controller.NewUDMVOIP.Add, - ) - udmVOIPGroup.DELETE("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewUDMVOIP.Remove, - ) - udmVOIPGroup.GET("/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewUDMVOIP.Export, - ) - udmVOIPGroup.POST("/import", - middleware.AuthorizeUser(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("/reset", - repeat.RepeatSubmit(5), - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_CLEAN)), - controller.NewUDMVolteIMS.ResetData, - ) - udmVolteIMSGroup.GET("/list", - middleware.AuthorizeUser(nil), - controller.NewUDMVolteIMS.List, - ) - udmVolteIMSGroup.GET("", - middleware.AuthorizeUser(nil), - controller.NewUDMVolteIMS.Info, - ) - udmVolteIMSGroup.POST("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_INSERT)), - controller.NewUDMVolteIMS.Add, - ) - udmVolteIMSGroup.DELETE("", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewUDMVolteIMS.Remove, - ) - udmVolteIMSGroup.GET("/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewUDMVolteIMS.Export, - ) - udmVolteIMSGroup.POST("/import", - middleware.AuthorizeUser(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.AuthorizeUser(nil), - controller.NewMME.UEList, - ) - mmeGroup.DELETE("/ue/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewMME.UERemove, - ) - mmeGroup.POST("/ue/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewMME.UEExport, - ) - mmeGroup.GET("/nb/list", - middleware.AuthorizeUser(nil), - controller.NewMME.NbInfoList, - ) - mmeGroup.GET("/nb/list-cfg", - middleware.AuthorizeUser(nil), - controller.NewMME.NbStateList, - ) - } - - // 网元SGWC - sgwcGroup := neDataGroup.Group("/sgwc") - { - sgwcGroup.GET("/cdr/list", - middleware.AuthorizeUser(nil), - controller.NewSGWC.CDRList, - ) - sgwcGroup.DELETE("/cdr/:id", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewSGWC.CDRRemove, - ) - sgwcGroup.POST("/cdr/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewSGWC.CDRExport, - ) - } - - // 网元PCF - pcfGroup := neDataGroup.Group("/pcf") - { - pcfGroup.GET("/rule/list", - middleware.AuthorizeUser(nil), - controller.NewPCF.RuleInfoList, - ) - pcfGroup.POST("/rule", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_IMPORT)), - controller.NewPCF.RuleInfoAdd, - ) - pcfGroup.PUT("/rule", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_UPDATE)), - controller.NewPCF.RuleInfoEdit, - ) - pcfGroup.DELETE("/rule", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_DELETE)), - controller.NewPCF.RuleInfoRemove, - ) - pcfGroup.GET("/rule/export", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_EXPORT)), - controller.NewPCF.RuleInfoExport, - ) - pcfGroup.PUT("/rule/import", - middleware.AuthorizeUser(nil), - collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_IMPORT)), - controller.NewPCF.RuleInfoImport, - ) - } } // InitLoad 初始参数 diff --git a/src/modules/network_element/controller/ne_config.go b/src/modules/network_element/controller/ne_config.go index 908bdc6a..4452d1e0 100644 --- a/src/modules/network_element/controller/ne_config.go +++ b/src/modules/network_element/controller/ne_config.go @@ -9,9 +9,9 @@ import ( "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" "be.ems/src/framework/utils/parse" - neFetchlink "be.ems/src/modules/network_element/fetch_link" "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" traceService "be.ems/src/modules/trace/service" "github.com/gin-gonic/gin" diff --git a/src/modules/network_element/controller/ne_info.go b/src/modules/network_element/controller/ne_info.go index 4c377f53..8b155103 100644 --- a/src/modules/network_element/controller/ne_info.go +++ b/src/modules/network_element/controller/ne_info.go @@ -2,16 +2,15 @@ package controller import ( "fmt" - "strings" "sync" "be.ems/src/framework/i18n" "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" "be.ems/src/framework/utils/parse" - neFetchlink "be.ems/src/modules/network_element/fetch_link" "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "github.com/gin-gonic/gin" ) @@ -345,7 +344,6 @@ func (s NeInfoController) Info(c *gin.Context) { // @Description Network element information addition // @Router /ne/info [post] func (s NeInfoController) Add(c *gin.Context) { - language := reqctx.AcceptLanguage(c) var body model.NeInfo err := c.ShouldBindBodyWithJSON(&body) if err != nil { @@ -358,68 +356,7 @@ func (s NeInfoController) Add(c *gin.Context) { return } - // 检查属性值唯一 - uniqueInfo := s.neInfoService.CheckUniqueCoreIdAndNeType(body.CoreUID, body.NeUID, 0) - if !uniqueInfo { - // 网元信息操作【%s】失败,同类型下标识已存在 - msg := i18n.TTemplate(language, "neInfo.errKeyExists", map[string]any{"key": body.NeUID}) - c.JSON(200, resp.ErrMsg(msg)) - return - } - - // 获取网元状态是否正常 - body.ServerState, err = neFetchlink.NeState(body) - if err != nil { - body.Status = 0 - } else { - // 网元状态设置为在线 - body.Status = 1 - if parse.Boolean(body.ServerState["standby"]) { - body.Status = 3 - } - // 下发网管配置信息给网元 - if _, err = neFetchlink.NeConfigOMC(body); err != nil { - body.Status = 2 - } - } - loginUserName := reqctx.LoginUserToUserName(c) - // 新增Version信息 - neVersion := model.NeVersion{ - CoreUID: body.CoreUID, - NeUID: body.NeUID, - NeType: body.NeType, - CreateBy: loginUserName, - } - // 新增License信息 - neLicense := model.NeLicense{ - CoreUID: body.CoreUID, - NeUID: body.NeUID, - NeType: body.NeType, - CreateBy: loginUserName, - } - - // 已有网元可获取的信息 - if body.ServerState != nil { - if v, ok := body.ServerState["version"]; ok && v != nil { - neVersion.Name = "-" - neVersion.Path = "-" - neVersion.Version = fmt.Sprint(v) - } - if v, ok := body.ServerState["capability"]; ok && v != nil { - neLicense.Capability = parse.Number(v) - } - if v, ok := body.ServerState["sn"]; ok && v != nil { - neLicense.SerialNum = fmt.Sprint(v) - } - if v, ok := body.ServerState["expire"]; ok && v != nil { - neLicense.ExpiryDate = fmt.Sprint(v) - neLicense.Status = "1" - } - } - - s.neVersionService.Insert(neVersion) - s.neLicenseService.Insert(neLicense) body.CreateBy = loginUserName insertId := s.neInfoService.Insert(body) if insertId > 0 { @@ -456,15 +393,6 @@ func (s NeInfoController) Edit(c *gin.Context) { return } - // 检查属性值唯一 - uniqueInfo := s.neInfoService.CheckUniqueCoreIdAndNeType(body.CoreUID, body.NeUID, body.ID) - if !uniqueInfo { - // 网元信息操作【%s】失败,同类型下标识已存在 - msg := i18n.TTemplate(language, "neInfo.errKeyExists", map[string]any{"key": body.NeUID}) - c.JSON(200, resp.ErrMsg(msg)) - return - } - // 检查是否存在 neInfo := s.neInfoService.FindById(body.ID, false) if neInfo.ID != body.ID { @@ -472,68 +400,8 @@ func (s NeInfoController) Edit(c *gin.Context) { c.JSON(200, resp.ErrMsg(i18n.TKey(language, "neInfo.noData"))) return } - // 赋予主机ID - if neInfo.HostIDs != "" && len(body.Hosts) > 0 { - hostIDs := strings.Split(neInfo.HostIDs, ",") - for index, id := range hostIDs { - body.Hosts[index].ID = parse.Number(id) - } - } - - // 获取网元状态是否正常 - body.ServerState, err = neFetchlink.NeState(neInfo) - if err != nil { - body.Status = 0 - } else { - // 网元状态设置为在线 - body.Status = 1 - if parse.Boolean(body.ServerState["standby"]) { - body.Status = 3 - } - // 下发网管配置信息给网元 - if _, err = neFetchlink.NeConfigOMC(body); err != nil { - body.Status = 2 - } - } loginUserName := reqctx.LoginUserToUserName(c) - neLicense := s.neLicenseService.FindByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) - neVersion := s.neVersionService.FindByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) - - // 已有网元可获取的信息 - if body.ServerState != nil { - if v, ok := body.ServerState["version"]; ok && v != nil { - neVersion.Name = "-" - neVersion.Path = "-" - neVersion.Version = fmt.Sprint(v) - neVersion.UpdateBy = loginUserName - } - if v, ok := body.ServerState["capability"]; ok && v != nil { - neLicense.Capability = parse.Number(v) - } - if v, ok := body.ServerState["sn"]; ok && v != nil { - neLicense.SerialNum = fmt.Sprint(v) - } - if v, ok := body.ServerState["expire"]; ok && v != nil { - neLicense.ExpiryDate = fmt.Sprint(v) - neLicense.Status = "1" - neLicense.UpdateBy = loginUserName - } - } - - if neVersion.ID <= 0 { - if neVersion.NeType != body.NeType { - neVersion.NeType = body.NeType - } - s.neVersionService.Update(neVersion) - } - if neLicense.ID <= 0 { - if neLicense.NeType != body.NeType { - neLicense.NeType = body.NeType - } - s.neLicenseService.Update(neLicense) - } - body.UpdateBy = loginUserName rows := s.neInfoService.Update(body) if rows > 0 { diff --git a/src/modules/network_element/controller/ne_license.go b/src/modules/network_element/controller/ne_license.go index 8a372076..6885c93a 100644 --- a/src/modules/network_element/controller/ne_license.go +++ b/src/modules/network_element/controller/ne_license.go @@ -10,9 +10,9 @@ import ( "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" "be.ems/src/framework/utils/parse" - neFetchlink "be.ems/src/modules/network_element/fetch_link" "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" ) // 实例化控制层 NeLicenseController 结构体 diff --git a/src/modules/network_element/model/core_info.go b/src/modules/network_element/model/core_info.go deleted file mode 100644 index 8dc9fa21..00000000 --- a/src/modules/network_element/model/core_info.go +++ /dev/null @@ -1,20 +0,0 @@ -package model - -// CoreInfo 核心网_基础信息 core_info -type CoreInfo struct { - ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 核心网ID - CoreUID string `json:"coreUid" gorm:"column:core_uid"` // 核心网唯一标识 - CoreName string `json:"coreName" gorm:"column:core_name"` // 核心网名称 - CoreSN string `json:"coreSN" gorm:"column:core_sn"` // 核心网序列号 - OmcId string `json:"omcId" gorm:"column:omc_id"` // OMC安装生成的唯一编码 - Remark string `json:"remark" gorm:"column:remark"` // 备注 - CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者 - CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 - UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者 - UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间 -} - -// TableName 表名称 -func (*CoreInfo) TableName() string { - return "core_info" -} diff --git a/src/modules/network_element/model/ne_info.go b/src/modules/network_element/model/ne_info.go index 26e5ee67..d36b2a50 100644 --- a/src/modules/network_element/model/ne_info.go +++ b/src/modules/network_element/model/ne_info.go @@ -4,7 +4,7 @@ package model type NeInfo struct { ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // 网元ID CoreUID string `json:"coreUid" gorm:"column:core_uid" binding:"required"` // 核心网唯一标识 - NeUID string `json:"neUid" gorm:"column:ne_uid" binding:"required"` // 网元唯一标识 + NeUID string `json:"neUid" gorm:"column:ne_uid"` // 网元唯一标识 NeType string `json:"neType" gorm:"column:ne_type" binding:"required"` // 网元类型 NeName string `json:"neName" gorm:"column:ne_name"` // 网元名称 IPAddr string `json:"ipAddr" gorm:"column:ip_addr" binding:"required"` // 网元服务IP diff --git a/src/modules/network_element/repository/ne_info.go b/src/modules/network_element/repository/ne_info.go index b53279ff..bef55275 100644 --- a/src/modules/network_element/repository/ne_info.go +++ b/src/modules/network_element/repository/ne_info.go @@ -202,28 +202,6 @@ func (r NeInfo) SelectNeInfoByCoreUidAndNeUid(coreUid, neUid string) model.NeInf return row } -// CheckUniqueCoreIdAndNeType 校验同类型下标识是否唯一 -func (r NeInfo) CheckUniqueCoreIdAndNeType(neInfo model.NeInfo) int64 { - tx := db.DB("").Model(&model.NeInfo{}) - // 查询条件拼接 - if neInfo.NeType != "" { - tx = tx.Where("ne_type = ?", neInfo.NeType) - } - if neInfo.CoreUID != "" { - tx = tx.Where("core_uid = ?", neInfo.CoreUID) - } - if neInfo.NeUID != "" { - tx = tx.Where("ne_uid = ?", neInfo.NeUID) - } - // 查询数据 - var id int64 = 0 - if err := tx.Limit(1).Select("id").Find(&id).Error; err != nil { - logger.Errorf("query find err => %v", err.Error()) - return id - } - return id -} - // UpdateState 修改状态 func (r NeInfo) UpdateState(id int64, status int64) int64 { if id <= 0 { diff --git a/src/modules/network_element/service/ne_info.go b/src/modules/network_element/service/ne_info.go index fad2a39d..8e8dfb4b 100644 --- a/src/modules/network_element/service/ne_info.go +++ b/src/modules/network_element/service/ne_info.go @@ -16,9 +16,9 @@ import ( "be.ems/src/framework/telnet" "be.ems/src/framework/utils/generate" "be.ems/src/framework/utils/parse" - neFetchlink "be.ems/src/modules/network_element/fetch_link" "be.ems/src/modules/network_element/model" "be.ems/src/modules/network_element/repository" + neFetchlink "be.ems/src/modules/network_link/fetch_link" ) // 实例化服务层 NeInfo 结构体 @@ -240,6 +240,27 @@ func (r NeInfo) FindById(id int64, bandHost bool) model.NeInfo { // Insert 新增信息 func (r NeInfo) Insert(neInfo model.NeInfo) int64 { + if neInfo.CoreUID == "" { + return 0 + } + neInfo.NeUID = strings.ToUpper(generate.Code(8)) + + // 获取网元状态是否正常 + serverState, err := neFetchlink.NeState(neInfo) + if err != nil { + neInfo.Status = 0 + } else { + // 网元状态设置为在线 + neInfo.Status = 1 + if parse.Boolean(serverState["standby"]) { + neInfo.Status = 3 + } + // 下发网管配置信息给网元 + if _, err = neFetchlink.NeConfigOMC(neInfo); err != nil { + neInfo.Status = 2 + } + } + // 主机信息新增 if neInfo.Hosts != nil { uuid := generate.Code(4) @@ -258,6 +279,39 @@ func (r NeInfo) Insert(neInfo model.NeInfo) int64 { insertId := r.neInfoRepository.Insert(neInfo) if insertId > 0 { + // 新增Version信息 + neVersion := model.NeVersion{ + CoreUID: neInfo.CoreUID, + NeUID: neInfo.NeUID, + NeType: neInfo.NeType, + CreateBy: neInfo.CreateBy, + } + if v, ok := serverState["version"]; ok && v != nil { + neVersion.Name = "-" + neVersion.Path = "-" + neVersion.Version = fmt.Sprint(v) + } + NewNeVersion.Insert(neVersion) + + // 新增License信息 + neLicense := model.NeLicense{ + CoreUID: neInfo.CoreUID, + NeUID: neInfo.NeUID, + NeType: neInfo.NeType, + CreateBy: neInfo.CreateBy, + } + if v, ok := serverState["capability"]; ok && v != nil { + neLicense.Capability = parse.Number(v) + } + if v, ok := serverState["sn"]; ok && v != nil { + neLicense.SerialNum = fmt.Sprint(v) + } + if v, ok := serverState["expire"]; ok && v != nil { + neLicense.ExpiryDate = fmt.Sprint(v) + neLicense.Status = "1" + } + NewNeLicense.Insert(neLicense) + r.RefreshByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) // 刷新缓存 } return insertId @@ -265,12 +319,32 @@ func (r NeInfo) Insert(neInfo model.NeInfo) int64 { // Update 修改信息 func (r NeInfo) Update(neInfo model.NeInfo) int64 { + // 获取网元状态是否正常 + serverState, err := neFetchlink.NeState(neInfo) + if err != nil { + neInfo.Status = 0 + } else { + // 网元状态设置为在线 + neInfo.Status = 1 + if parse.Boolean(serverState["standby"]) { + neInfo.Status = 3 + } + // 下发网管配置信息给网元 + if _, err = neFetchlink.NeConfigOMC(neInfo); err != nil { + neInfo.Status = 2 + } + } + // 主机信息更新 - if neInfo.Hosts != nil { + if neInfo.HostIDs != "" && len(neInfo.Hosts) > 0 { + hostIDs := strings.Split(neInfo.HostIDs, ",") + for index, id := range hostIDs { + neInfo.Hosts[index].ID = parse.Number(id) + } uuid := generate.Code(4) for _, host := range neInfo.Hosts { if host.ID != 0 { - host.Title = fmt.Sprintf("%s_%d_%s", neInfo.NeName, host.Port, uuid) + host.Title = fmt.Sprintf("%s_%d_%s", neInfo.NeType, host.Port, uuid) host.GroupID = "1" host.UpdateBy = neInfo.UpdateBy r.neHostService.Update(host) @@ -280,6 +354,41 @@ func (r NeInfo) Update(neInfo model.NeInfo) int64 { num := r.neInfoRepository.Update(neInfo) if num > 0 { + // 版本信息更新 + neVersion := NewNeVersion.FindByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) + if neVersion.ID != 0 { + if neVersion.NeType != neInfo.NeType { + neVersion.NeType = neInfo.NeType + } + if v, ok := serverState["version"]; ok && v != neVersion.Version { + neVersion.Name = "-" + neVersion.Path = "-" + neVersion.Version = fmt.Sprint(v) + } + neVersion.UpdateBy = neInfo.UpdateBy + NewNeVersion.Update(neVersion) + } + + // License信息更新 + neLicense := NewNeLicense.FindByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) + if neLicense.ID != 0 { + if neLicense.NeType != neInfo.NeType { + neLicense.NeType = neInfo.NeType + } + if v, ok := serverState["capability"]; ok && v != nil { + neLicense.Capability = parse.Number(v) + } + if v, ok := serverState["sn"]; ok && v != nil { + neLicense.SerialNum = fmt.Sprint(v) + } + if v, ok := serverState["expire"]; ok && v != nil { + neLicense.ExpiryDate = fmt.Sprint(v) + neLicense.Status = "1" + } + neLicense.UpdateBy = neInfo.UpdateBy + NewNeLicense.Update(neLicense) + } + r.RefreshByCoreUidAndNeUid(neInfo.CoreUID, neInfo.NeUID) // 刷新缓存 } return num @@ -324,18 +433,6 @@ func (r NeInfo) DeleteByIds(ids []int64) (int64, error) { return 0, fmt.Errorf("delete fail") } -// CheckUniqueCoreUidAndNeUid 校验同类型下标识是否唯一 -func (r NeInfo) CheckUniqueCoreIdAndNeType(coreUid, neUid string, id int64) bool { - uniqueId := r.neInfoRepository.CheckUniqueCoreIdAndNeType(model.NeInfo{ - CoreUID: coreUid, - NeUID: neUid, - }) - if uniqueId == id { - return true - } - return uniqueId == 0 -} - // NeRunSSHClient 网元主机的SSH客户端-为创建相关连接,注意结束后 Close() func (r NeInfo) NeRunSSHClient(coreUid, neUid string) (*ssh.ConnSSH, error) { neInfo := r.FindByCoreUidAndNeUid(coreUid, neUid) diff --git a/src/modules/network_element/service/ne_version.go b/src/modules/network_element/service/ne_version.go index 1234e6d7..39156248 100644 --- a/src/modules/network_element/service/ne_version.go +++ b/src/modules/network_element/service/ne_version.go @@ -9,9 +9,9 @@ import ( "be.ems/src/framework/ssh" "be.ems/src/framework/utils/file" - neFetchlink "be.ems/src/modules/network_element/fetch_link" "be.ems/src/modules/network_element/model" "be.ems/src/modules/network_element/repository" + neFetchlink "be.ems/src/modules/network_link/fetch_link" ) // 实例化服务层 NeVersion 结构体 diff --git a/src/modules/network_data/controller/amf.go b/src/modules/network_link/controller/amf.go similarity index 99% rename from src/modules/network_data/controller/amf.go rename to src/modules/network_link/controller/amf.go index 7ba2cab2..63606f6e 100644 --- a/src/modules/network_data/controller/amf.go +++ b/src/modules/network_link/controller/amf.go @@ -10,8 +10,8 @@ import ( "be.ems/src/framework/utils/parse" "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "github.com/gin-gonic/gin" ) diff --git a/src/modules/network_data/controller/ims.go b/src/modules/network_link/controller/ims.go similarity index 99% rename from src/modules/network_data/controller/ims.go rename to src/modules/network_link/controller/ims.go index a4fee949..c563f715 100644 --- a/src/modules/network_data/controller/ims.go +++ b/src/modules/network_link/controller/ims.go @@ -10,8 +10,8 @@ import ( "be.ems/src/framework/utils/parse" "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "github.com/gin-gonic/gin" ) diff --git a/src/modules/network_data/controller/mme.go b/src/modules/network_link/controller/mme.go similarity index 99% rename from src/modules/network_data/controller/mme.go rename to src/modules/network_link/controller/mme.go index c051e008..e96b3025 100644 --- a/src/modules/network_data/controller/mme.go +++ b/src/modules/network_link/controller/mme.go @@ -10,8 +10,8 @@ import ( "be.ems/src/framework/utils/parse" "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "github.com/gin-gonic/gin" ) diff --git a/src/modules/network_data/controller/pcf.go b/src/modules/network_link/controller/pcf.go similarity index 99% rename from src/modules/network_data/controller/pcf.go rename to src/modules/network_link/controller/pcf.go index 037fb988..b391ba8c 100644 --- a/src/modules/network_data/controller/pcf.go +++ b/src/modules/network_link/controller/pcf.go @@ -6,8 +6,8 @@ import ( "be.ems/src/framework/i18n" "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "github.com/gin-gonic/gin" ) diff --git a/src/modules/network_data/controller/sgwc.go b/src/modules/network_link/controller/sgwc.go similarity index 96% rename from src/modules/network_data/controller/sgwc.go rename to src/modules/network_link/controller/sgwc.go index 1482d7cf..1143b5a6 100644 --- a/src/modules/network_data/controller/sgwc.go +++ b/src/modules/network_link/controller/sgwc.go @@ -11,6 +11,7 @@ import ( "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) @@ -18,7 +19,7 @@ import ( var NewSGWC = &SGWCController{ neInfoService: neService.NewNeInfo, cdrEventService: neDataService.NewCDREventSGWC, - UDMExtendService: neDataService.NewUDMExtend, + UDMExtendService: service.NewUDMExtend, } // 网元SGWC @@ -27,7 +28,7 @@ var NewSGWC = &SGWCController{ type SGWCController struct { neInfoService *neService.NeInfo // 网元信息服务 cdrEventService *neDataService.CDREventSGWC // CDR会话事件服务 - UDMExtendService *neDataService.UDMExtend // UDM用户信息服务 + UDMExtendService *service.UDMExtend // UDM用户信息服务 } // CDR会话列表 diff --git a/src/modules/network_data/controller/smf.go b/src/modules/network_link/controller/smf.go similarity index 97% rename from src/modules/network_data/controller/smf.go rename to src/modules/network_link/controller/smf.go index 042daad0..1f04cc68 100644 --- a/src/modules/network_data/controller/smf.go +++ b/src/modules/network_link/controller/smf.go @@ -11,8 +11,9 @@ import ( "be.ems/src/framework/utils/parse" "be.ems/src/modules/network_data/model" neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) @@ -21,7 +22,7 @@ import ( var NewSMF = &SMFController{ neInfoService: neService.NewNeInfo, cdrEventService: neDataService.NewCDREventSMF, - UDMExtendService: neDataService.NewUDMExtend, + UDMExtendService: service.NewUDMExtend, } // 网元SMF @@ -30,7 +31,7 @@ var NewSMF = &SMFController{ type SMFController struct { neInfoService *neService.NeInfo // 网元信息服务 cdrEventService *neDataService.CDREventSMF // CDR会话事件服务 - UDMExtendService *neDataService.UDMExtend // UDM用户信息服务 + UDMExtendService *service.UDMExtend // UDM用户信息服务 } // CDR会话列表 diff --git a/src/modules/network_data/controller/smsc.go b/src/modules/network_link/controller/smsc.go similarity index 100% rename from src/modules/network_data/controller/smsc.go rename to src/modules/network_link/controller/smsc.go diff --git a/src/modules/network_data/controller/udm_auth.go b/src/modules/network_link/controller/udm_auth.go similarity index 98% rename from src/modules/network_data/controller/udm_auth.go rename to src/modules/network_link/controller/udm_auth.go index e8525259..ac020308 100644 --- a/src/modules/network_data/controller/udm_auth.go +++ b/src/modules/network_link/controller/udm_auth.go @@ -13,17 +13,17 @@ import ( "be.ems/src/framework/telnet" "be.ems/src/framework/utils/file" "be.ems/src/framework/utils/parse" - "be.ems/src/modules/network_data/model" - neDataService "be.ems/src/modules/network_data/service" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) // 实例化控制层 UDMAuthController 结构体 var NewUDMAuth = &UDMAuthController{ - udmAuthService: neDataService.NewUDMAuthUser, + udmAuthService: service.NewUDMAuthUser, neInfoService: neService.NewNeInfo, } @@ -31,8 +31,8 @@ var NewUDMAuth = &UDMAuthController{ // // PATH /udm/auth type UDMAuthController struct { - udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息服务 - neInfoService *neService.NeInfo // 网元信息服务 + udmAuthService *service.UDMAuthUser // UDM鉴权信息服务 + neInfoService *neService.NeInfo // 网元信息服务 } // UDM鉴权用户重载数据 diff --git a/src/modules/network_data/controller/udm_sub.go b/src/modules/network_link/controller/udm_sub.go similarity index 98% rename from src/modules/network_data/controller/udm_sub.go rename to src/modules/network_link/controller/udm_sub.go index 569bdaeb..c2173001 100644 --- a/src/modules/network_data/controller/udm_sub.go +++ b/src/modules/network_link/controller/udm_sub.go @@ -13,16 +13,16 @@ import ( "be.ems/src/framework/telnet" "be.ems/src/framework/utils/file" "be.ems/src/framework/utils/parse" - "be.ems/src/modules/network_data/model" - neDataService "be.ems/src/modules/network_data/service" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) // 实例化控制层 UDMSubController 结构体 var NewUDMSub = &UDMSubController{ - udmSubService: neDataService.NewUDMSubUser, + udmSubService: service.NewUDMSubUser, neInfoService: neService.NewNeInfo, } @@ -30,8 +30,8 @@ var NewUDMSub = &UDMSubController{ // // PATH /udm/sub type UDMSubController struct { - udmSubService *neDataService.UDMSubUser // UDM签约信息服务 - neInfoService *neService.NeInfo // 网元信息服务 + udmSubService *service.UDMSubUser // UDM签约信息服务 + neInfoService *neService.NeInfo // 网元信息服务 } // UDM签约用户重载数据 diff --git a/src/modules/network_data/controller/udm_voip.go b/src/modules/network_link/controller/udm_voip.go similarity index 98% rename from src/modules/network_data/controller/udm_voip.go rename to src/modules/network_link/controller/udm_voip.go index 623e53b4..aa53f540 100644 --- a/src/modules/network_data/controller/udm_voip.go +++ b/src/modules/network_link/controller/udm_voip.go @@ -13,16 +13,16 @@ import ( "be.ems/src/framework/telnet" "be.ems/src/framework/utils/file" "be.ems/src/framework/utils/parse" - "be.ems/src/modules/network_data/model" - neDataService "be.ems/src/modules/network_data/service" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) // 实例化控制层 UDMVOIPController 结构体 var NewUDMVOIP = &UDMVOIPController{ - udmVOIPService: neDataService.NewUDMVOIPUser, + udmVOIPService: service.NewUDMVOIPUser, neInfoService: neService.NewNeInfo, } @@ -30,8 +30,8 @@ var NewUDMVOIP = &UDMVOIPController{ // // PATH /udm/voip type UDMVOIPController struct { - udmVOIPService *neDataService.UDMVOIPUser // UDMVOIP信息服务 - neInfoService *neService.NeInfo // 网元信息服务 + udmVOIPService *service.UDMVOIPUser // UDMVOIP信息服务 + neInfoService *neService.NeInfo // 网元信息服务 } // UDMVOIP用户重载数据 diff --git a/src/modules/network_data/controller/udm_volte_ims.go b/src/modules/network_link/controller/udm_volte_ims.go similarity index 98% rename from src/modules/network_data/controller/udm_volte_ims.go rename to src/modules/network_link/controller/udm_volte_ims.go index cab53099..59cf52df 100644 --- a/src/modules/network_data/controller/udm_volte_ims.go +++ b/src/modules/network_link/controller/udm_volte_ims.go @@ -13,16 +13,16 @@ import ( "be.ems/src/framework/telnet" "be.ems/src/framework/utils/file" "be.ems/src/framework/utils/parse" - "be.ems/src/modules/network_data/model" - neDataService "be.ems/src/modules/network_data/service" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/service" "github.com/gin-gonic/gin" ) // 实例化控制层 UDMVolteIMSController 结构体 var NewUDMVolteIMS = &UDMVolteIMSController{ - udmVolteIMSService: neDataService.NewUDMVolteIMSUser, + udmVolteIMSService: service.NewUDMVolteIMSUser, neInfoService: neService.NewNeInfo, } @@ -30,8 +30,8 @@ var NewUDMVolteIMS = &UDMVolteIMSController{ // // PATH /udm/volte-ims type UDMVolteIMSController struct { - udmVolteIMSService *neDataService.UDMVolteIMSUser // UDMVolteIMS信息服务 - neInfoService *neService.NeInfo // 网元信息服务 + udmVolteIMSService *service.UDMVolteIMSUser // UDMVolteIMS信息服务 + neInfoService *neService.NeInfo // 网元信息服务 } // UDMVolteIMS用户重载数据 diff --git a/src/modules/network_data/controller/upf.go b/src/modules/network_link/controller/upf.go similarity index 100% rename from src/modules/network_data/controller/upf.go rename to src/modules/network_link/controller/upf.go diff --git a/src/modules/network_element/fetch_link/alarm.go b/src/modules/network_link/fetch_link/alarm.go similarity index 100% rename from src/modules/network_element/fetch_link/alarm.go rename to src/modules/network_link/fetch_link/alarm.go diff --git a/src/modules/network_element/fetch_link/amf.go b/src/modules/network_link/fetch_link/amf.go similarity index 100% rename from src/modules/network_element/fetch_link/amf.go rename to src/modules/network_link/fetch_link/amf.go diff --git a/src/modules/network_element/fetch_link/hlr.go b/src/modules/network_link/fetch_link/hlr.go similarity index 100% rename from src/modules/network_element/fetch_link/hlr.go rename to src/modules/network_link/fetch_link/hlr.go diff --git a/src/modules/network_element/fetch_link/ims.go b/src/modules/network_link/fetch_link/ims.go similarity index 100% rename from src/modules/network_element/fetch_link/ims.go rename to src/modules/network_link/fetch_link/ims.go diff --git a/src/modules/network_element/fetch_link/mme.go b/src/modules/network_link/fetch_link/mme.go similarity index 100% rename from src/modules/network_element/fetch_link/mme.go rename to src/modules/network_link/fetch_link/mme.go diff --git a/src/modules/network_element/fetch_link/ne_config.go b/src/modules/network_link/fetch_link/ne_config.go similarity index 100% rename from src/modules/network_element/fetch_link/ne_config.go rename to src/modules/network_link/fetch_link/ne_config.go diff --git a/src/modules/network_element/fetch_link/ne_state.go b/src/modules/network_link/fetch_link/ne_state.go similarity index 100% rename from src/modules/network_element/fetch_link/ne_state.go rename to src/modules/network_link/fetch_link/ne_state.go diff --git a/src/modules/network_element/fetch_link/ne_trace.go b/src/modules/network_link/fetch_link/ne_trace.go similarity index 100% rename from src/modules/network_element/fetch_link/ne_trace.go rename to src/modules/network_link/fetch_link/ne_trace.go diff --git a/src/modules/network_element/fetch_link/pcf.go b/src/modules/network_link/fetch_link/pcf.go similarity index 100% rename from src/modules/network_element/fetch_link/pcf.go rename to src/modules/network_link/fetch_link/pcf.go diff --git a/src/modules/network_element/fetch_link/smf.go b/src/modules/network_link/fetch_link/smf.go similarity index 100% rename from src/modules/network_element/fetch_link/smf.go rename to src/modules/network_link/fetch_link/smf.go diff --git a/src/modules/network_element/fetch_link/udm.go b/src/modules/network_link/fetch_link/udm.go similarity index 100% rename from src/modules/network_element/fetch_link/udm.go rename to src/modules/network_link/fetch_link/udm.go diff --git a/src/modules/network_data/model/udm_auth.go b/src/modules/network_link/model/udm_auth.go similarity index 100% rename from src/modules/network_data/model/udm_auth.go rename to src/modules/network_link/model/udm_auth.go diff --git a/src/modules/network_data/model/udm_extend.go b/src/modules/network_link/model/udm_extend.go similarity index 100% rename from src/modules/network_data/model/udm_extend.go rename to src/modules/network_link/model/udm_extend.go diff --git a/src/modules/network_data/model/udm_sub.go b/src/modules/network_link/model/udm_sub.go similarity index 100% rename from src/modules/network_data/model/udm_sub.go rename to src/modules/network_link/model/udm_sub.go diff --git a/src/modules/network_data/model/udm_voip.go b/src/modules/network_link/model/udm_voip.go similarity index 100% rename from src/modules/network_data/model/udm_voip.go rename to src/modules/network_link/model/udm_voip.go diff --git a/src/modules/network_data/model/udm_volte_ims.go b/src/modules/network_link/model/udm_volte_ims.go similarity index 100% rename from src/modules/network_data/model/udm_volte_ims.go rename to src/modules/network_link/model/udm_volte_ims.go diff --git a/src/modules/network_link/network_link.go b/src/modules/network_link/network_link.go new file mode 100644 index 00000000..f3264ca6 --- /dev/null +++ b/src/modules/network_link/network_link.go @@ -0,0 +1,373 @@ +package networklink + +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_link/controller" + + "github.com/gin-gonic/gin" +) + +// 模块路由注册 +func Setup(router *gin.Engine) { + logger.Infof("开始加载 ====> network_link 模块路由") + + neDataGroup := router.Group("/ne/link") + + // 网元IMS + imsGroup := neDataGroup.Group("/ims") + { + imsGroup.GET("/cdr/list", + middleware.AuthorizeUser(nil), + controller.NewIMS.CDRList, + ) + imsGroup.DELETE("/cdr/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewIMS.CDRRemove, + ) + imsGroup.POST("/cdr/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewIMS.CDRExport, + ) + imsGroup.GET("/session/num", + middleware.AuthorizeUser(nil), + controller.NewIMS.UeSessionNum, + ) + imsGroup.GET("/session/list", + middleware.AuthorizeUser(nil), + controller.NewIMS.UeSessionList, + ) + } + + // 网元SMSC + smscGroup := neDataGroup.Group("/smsc") + { + smscGroup.GET("/cdr/list", + middleware.AuthorizeUser(nil), + controller.NewSMSC.CDRList, + ) + smscGroup.DELETE("/cdr/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smscCDR", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewSMSC.CDRRemove, + ) + smscGroup.POST("/cdr/export", + middleware.AuthorizeUser(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.AuthorizeUser(nil), + controller.NewSMF.CDRList, + ) + smfGroup.DELETE("/cdr/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewSMF.CDRRemove, + ) + smfGroup.POST("/cdr/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.smfCDR", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewSMF.CDRExport, + ) + smfGroup.GET("/sub/num", + middleware.AuthorizeUser(nil), + controller.NewSMF.SubUserNum, + ) + smfGroup.GET("/sub/list", + middleware.AuthorizeUser(nil), + controller.NewSMF.SubUserList, + ) + } + + // 网元AMF + amfGroup := neDataGroup.Group("/amf") + { + amfGroup.GET("/ue/list", + middleware.AuthorizeUser(nil), + controller.NewAMF.UEList, + ) + amfGroup.DELETE("/ue/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewAMF.UERemove, + ) + amfGroup.POST("/ue/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewAMF.UEExport, + ) + amfGroup.GET("/nb/list", + middleware.AuthorizeUser(nil), + controller.NewAMF.NbInfoList, + ) + amfGroup.GET("/nb/list-cfg", + middleware.AuthorizeUser(nil), + controller.NewAMF.NbStateList, + ) + } + + // 网元UPF + upfGroup := neDataGroup.Group("/upf") + { + upfGroup.GET("/flow-total", + middleware.AuthorizeUser(nil), + controller.NewUPF.FlowTotal, + ) + } + + // 网元UDM 鉴权用户信息 + udmAuthGroup := neDataGroup.Group("/udm/auth") + { + udmAuthGroup.PUT("/reset", + repeat.RepeatSubmit(5), + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_CLEAN)), + controller.NewUDMAuth.ResetData, + ) + udmAuthGroup.GET("/list", + middleware.AuthorizeUser(nil), + controller.NewUDMAuth.List, + ) + udmAuthGroup.GET("", + middleware.AuthorizeUser(nil), + controller.NewUDMAuth.Info, + ) + udmAuthGroup.POST("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_INSERT)), + controller.NewUDMAuth.Add, + ) + udmAuthGroup.PUT("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_UPDATE)), + controller.NewUDMAuth.Edit, + ) + udmAuthGroup.DELETE("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewUDMAuth.Remove, + ) + udmAuthGroup.GET("/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmAuth", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewUDMAuth.Export, + ) + udmAuthGroup.POST("/import", + middleware.AuthorizeUser(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.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_CLEAN)), + controller.NewUDMSub.ResetData, + ) + udmSubGroup.GET("/list", + middleware.AuthorizeUser(nil), + controller.NewUDMSub.List, + ) + udmSubGroup.GET("", + middleware.AuthorizeUser(nil), + controller.NewUDMSub.Info, + ) + udmSubGroup.POST("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_INSERT)), + controller.NewUDMSub.Add, + ) + udmSubGroup.PUT("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_UPDATE)), + controller.NewUDMSub.Edit, + ) + udmSubGroup.DELETE("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewUDMSub.Remove, + ) + udmSubGroup.GET("/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmSub", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewUDMSub.Export, + ) + udmSubGroup.POST("/import", + middleware.AuthorizeUser(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("/reset", + repeat.RepeatSubmit(5), + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_CLEAN)), + controller.NewUDMVOIP.ResetData, + ) + udmVOIPGroup.GET("/list", + middleware.AuthorizeUser(nil), + controller.NewUDMVOIP.List, + ) + udmVOIPGroup.GET("", + middleware.AuthorizeUser(nil), + controller.NewUDMVOIP.Info, + ) + udmVOIPGroup.POST("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_INSERT)), + controller.NewUDMVOIP.Add, + ) + udmVOIPGroup.DELETE("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewUDMVOIP.Remove, + ) + udmVOIPGroup.GET("/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVOIP", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewUDMVOIP.Export, + ) + udmVOIPGroup.POST("/import", + middleware.AuthorizeUser(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("/reset", + repeat.RepeatSubmit(5), + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_CLEAN)), + controller.NewUDMVolteIMS.ResetData, + ) + udmVolteIMSGroup.GET("/list", + middleware.AuthorizeUser(nil), + controller.NewUDMVolteIMS.List, + ) + udmVolteIMSGroup.GET("", + middleware.AuthorizeUser(nil), + controller.NewUDMVolteIMS.Info, + ) + udmVolteIMSGroup.POST("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_INSERT)), + controller.NewUDMVolteIMS.Add, + ) + udmVolteIMSGroup.DELETE("", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewUDMVolteIMS.Remove, + ) + udmVolteIMSGroup.GET("/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.udmVolteIMS", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewUDMVolteIMS.Export, + ) + udmVolteIMSGroup.POST("/import", + middleware.AuthorizeUser(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.AuthorizeUser(nil), + controller.NewMME.UEList, + ) + mmeGroup.DELETE("/ue/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewMME.UERemove, + ) + mmeGroup.POST("/ue/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mmeUE", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewMME.UEExport, + ) + mmeGroup.GET("/nb/list", + middleware.AuthorizeUser(nil), + controller.NewMME.NbInfoList, + ) + mmeGroup.GET("/nb/list-cfg", + middleware.AuthorizeUser(nil), + controller.NewMME.NbStateList, + ) + } + + // 网元SGWC + sgwcGroup := neDataGroup.Group("/sgwc") + { + sgwcGroup.GET("/cdr/list", + middleware.AuthorizeUser(nil), + controller.NewSGWC.CDRList, + ) + sgwcGroup.DELETE("/cdr/:id", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewSGWC.CDRRemove, + ) + sgwcGroup.POST("/cdr/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.sgwcCDR", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewSGWC.CDRExport, + ) + } + + // 网元PCF + pcfGroup := neDataGroup.Group("/pcf") + { + pcfGroup.GET("/rule/list", + middleware.AuthorizeUser(nil), + controller.NewPCF.RuleInfoList, + ) + pcfGroup.POST("/rule", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_IMPORT)), + controller.NewPCF.RuleInfoAdd, + ) + pcfGroup.PUT("/rule", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_UPDATE)), + controller.NewPCF.RuleInfoEdit, + ) + pcfGroup.DELETE("/rule", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_DELETE)), + controller.NewPCF.RuleInfoRemove, + ) + pcfGroup.GET("/rule/export", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewPCF.RuleInfoExport, + ) + pcfGroup.PUT("/rule/import", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.pcfRule", collectlogs.BUSINESS_TYPE_IMPORT)), + controller.NewPCF.RuleInfoImport, + ) + } +} diff --git a/src/modules/network_data/repository/udm_auth.go b/src/modules/network_link/repository/udm_auth.go similarity index 99% rename from src/modules/network_data/repository/udm_auth.go rename to src/modules/network_link/repository/udm_auth.go index bbb4fddf..736999cc 100644 --- a/src/modules/network_data/repository/udm_auth.go +++ b/src/modules/network_link/repository/udm_auth.go @@ -6,7 +6,7 @@ import ( "be.ems/src/framework/database/db" "be.ems/src/framework/logger" - "be.ems/src/modules/network_data/model" + "be.ems/src/modules/network_link/model" ) // 实例化数据层 UDMAuthUser 结构体 diff --git a/src/modules/network_data/repository/udm_extend.go b/src/modules/network_link/repository/udm_extend.go similarity index 98% rename from src/modules/network_data/repository/udm_extend.go rename to src/modules/network_link/repository/udm_extend.go index dd53a1e9..238564c5 100644 --- a/src/modules/network_data/repository/udm_extend.go +++ b/src/modules/network_link/repository/udm_extend.go @@ -5,7 +5,7 @@ import ( "be.ems/src/framework/database/db" "be.ems/src/framework/logger" - "be.ems/src/modules/network_data/model" + "be.ems/src/modules/network_link/model" ) // 实例化数据层 UDMExtend 结构体 diff --git a/src/modules/network_data/repository/udm_sub.go b/src/modules/network_link/repository/udm_sub.go similarity index 99% rename from src/modules/network_data/repository/udm_sub.go rename to src/modules/network_link/repository/udm_sub.go index 514bbf22..6751a8f2 100644 --- a/src/modules/network_data/repository/udm_sub.go +++ b/src/modules/network_link/repository/udm_sub.go @@ -6,7 +6,7 @@ import ( "be.ems/src/framework/database/db" "be.ems/src/framework/logger" - "be.ems/src/modules/network_data/model" + "be.ems/src/modules/network_link/model" ) // 实例化数据层 UDMSubUser 结构体 diff --git a/src/modules/network_data/repository/udm_voip.go b/src/modules/network_link/repository/udm_voip.go similarity index 99% rename from src/modules/network_data/repository/udm_voip.go rename to src/modules/network_link/repository/udm_voip.go index bbba0e37..c5e9bd72 100644 --- a/src/modules/network_data/repository/udm_voip.go +++ b/src/modules/network_link/repository/udm_voip.go @@ -6,7 +6,7 @@ import ( "be.ems/src/framework/database/db" "be.ems/src/framework/logger" - "be.ems/src/modules/network_data/model" + "be.ems/src/modules/network_link/model" ) // 实例化数据层 UDMVOIPUser 结构体 diff --git a/src/modules/network_data/repository/udm_volte_ims.go b/src/modules/network_link/repository/udm_volte_ims.go similarity index 99% rename from src/modules/network_data/repository/udm_volte_ims.go rename to src/modules/network_link/repository/udm_volte_ims.go index d375f6e7..e2f39aee 100644 --- a/src/modules/network_data/repository/udm_volte_ims.go +++ b/src/modules/network_link/repository/udm_volte_ims.go @@ -6,7 +6,7 @@ import ( "be.ems/src/framework/database/db" "be.ems/src/framework/logger" - "be.ems/src/modules/network_data/model" + "be.ems/src/modules/network_link/model" ) // 实例化数据层 UDMVolteIMSUser 结构体 diff --git a/src/modules/network_data/service/udm_auth.go b/src/modules/network_link/service/udm_auth.go similarity index 98% rename from src/modules/network_data/service/udm_auth.go rename to src/modules/network_link/service/udm_auth.go index 05a93690..9c8ccede 100644 --- a/src/modules/network_data/service/udm_auth.go +++ b/src/modules/network_link/service/udm_auth.go @@ -6,9 +6,9 @@ import ( "strings" "be.ems/src/framework/database/redis" - "be.ems/src/modules/network_data/model" - "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/repository" ) // 实例化服务层 UDMAuthUser 结构体 diff --git a/src/modules/network_data/service/udm_extend.go b/src/modules/network_link/service/udm_extend.go similarity index 91% rename from src/modules/network_data/service/udm_extend.go rename to src/modules/network_link/service/udm_extend.go index f2ba1975..5b250c1a 100644 --- a/src/modules/network_data/service/udm_extend.go +++ b/src/modules/network_link/service/udm_extend.go @@ -1,8 +1,8 @@ package service import ( - "be.ems/src/modules/network_data/model" - "be.ems/src/modules/network_data/repository" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/repository" ) // 实例化服务层 UDMExtend 结构体 diff --git a/src/modules/network_data/service/udm_sub.go b/src/modules/network_link/service/udm_sub.go similarity index 99% rename from src/modules/network_data/service/udm_sub.go rename to src/modules/network_link/service/udm_sub.go index 2846f87b..a23e4d4c 100644 --- a/src/modules/network_data/service/udm_sub.go +++ b/src/modules/network_link/service/udm_sub.go @@ -6,9 +6,9 @@ import ( "strings" "be.ems/src/framework/database/redis" - "be.ems/src/modules/network_data/model" - "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/repository" ) // 实例化服务层 UDMSubUser 结构体 diff --git a/src/modules/network_data/service/udm_voip.go b/src/modules/network_link/service/udm_voip.go similarity index 98% rename from src/modules/network_data/service/udm_voip.go rename to src/modules/network_link/service/udm_voip.go index a1b1f986..fb7e7023 100644 --- a/src/modules/network_data/service/udm_voip.go +++ b/src/modules/network_link/service/udm_voip.go @@ -6,9 +6,9 @@ import ( "strings" "be.ems/src/framework/database/redis" - "be.ems/src/modules/network_data/model" - "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/repository" ) // 实例化服务层 UDMVOIPUser 结构体 diff --git a/src/modules/network_data/service/udm_volte_ims.go b/src/modules/network_link/service/udm_volte_ims.go similarity index 98% rename from src/modules/network_data/service/udm_volte_ims.go rename to src/modules/network_link/service/udm_volte_ims.go index 79bc09f1..73ab0929 100644 --- a/src/modules/network_data/service/udm_volte_ims.go +++ b/src/modules/network_link/service/udm_volte_ims.go @@ -6,9 +6,9 @@ import ( "strings" "be.ems/src/framework/database/redis" - "be.ems/src/modules/network_data/model" - "be.ems/src/modules/network_data/repository" neService "be.ems/src/modules/network_element/service" + "be.ems/src/modules/network_link/model" + "be.ems/src/modules/network_link/repository" ) // 实例化服务层 UDMVolteIMSUser 结构体 diff --git a/src/modules/trace/service/tcpdump.go b/src/modules/trace/service/tcpdump.go index 44331d71..8708ccf6 100644 --- a/src/modules/trace/service/tcpdump.go +++ b/src/modules/trace/service/tcpdump.go @@ -81,7 +81,7 @@ func (s *TCPdump) DumpStart(coreUid, neUid, cmdStr string) (string, error) { // 日志文件行号 PIDMap := s.logFileLastLine(neInfo.NeType, sshClient) PIDMap["neType"] = neInfo.NeType - PIDMap["rmUid"] = neInfo.NeUID + PIDMap["neUid"] = neInfo.NeUID PIDMap["taskCode"] = taskCode PIDMap["pid"] = outputPID PIDMap["cmd"] = sendCmd @@ -179,10 +179,10 @@ func (s *TCPdump) logFileLastLineToFile(PIDMap map[string]string, sshClient *ssh defer sftpClient.Close() neType := PIDMap["neType"] - neId := PIDMap["neId"] + neUid := PIDMap["neUid"] taskCode := PIDMap["taskCode"] // 存放文件目录 /usr/local/omc/tcpdump/udm/001/20240817104241 - neDirTemp := fmt.Sprintf("/usr/local/omc/tcpdump/%s/%s/%s", strings.ToLower(neType), neId, taskCode) + neDirTemp := fmt.Sprintf("/usr/local/omc/tcpdump/%s/%s/%s", strings.ToLower(neType), neUid, taskCode) sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p %s && sudo chmod 755 -R /usr/local/omc/tcpdump", neDirTemp)) lastLineMap := s.logFileLastLine(neType, sshClient) diff --git a/src/modules/trace/service/trace_task.go b/src/modules/trace/service/trace_task.go index b955546c..036c7e08 100644 --- a/src/modules/trace/service/trace_task.go +++ b/src/modules/trace/service/trace_task.go @@ -11,9 +11,9 @@ import ( "be.ems/src/framework/socket" "be.ems/src/framework/utils/date" "be.ems/src/framework/utils/parse" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "be.ems/src/modules/trace/model" "be.ems/src/modules/trace/repository" wsService "be.ems/src/modules/ws/service" diff --git a/src/modules/trace/service/trace_task_hlr.go b/src/modules/trace/service/trace_task_hlr.go index c9001d36..1a268384 100644 --- a/src/modules/trace/service/trace_task_hlr.go +++ b/src/modules/trace/service/trace_task_hlr.go @@ -7,9 +7,9 @@ import ( "be.ems/src/framework/ssh" "be.ems/src/framework/utils/date" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" "be.ems/src/modules/trace/model" "be.ems/src/modules/trace/repository" ) diff --git a/src/modules/ws/processor/ne_state.go b/src/modules/ws/processor/ne_state.go index 15feff01..6d5b2666 100644 --- a/src/modules/ws/processor/ne_state.go +++ b/src/modules/ws/processor/ne_state.go @@ -6,8 +6,8 @@ import ( "be.ems/src/framework/logger" "be.ems/src/framework/resp" - neFetchlink "be.ems/src/modules/network_element/fetch_link" neService "be.ems/src/modules/network_element/service" + neFetchlink "be.ems/src/modules/network_link/fetch_link" ) // GetNeState 获取网元服务状态