package networkelement import ( "be.ems/src/framework/logger" "be.ems/src/framework/middleware" "be.ems/src/framework/middleware/collectlogs" "be.ems/src/modules/network_element/controller" "be.ems/src/modules/network_element/service" "github.com/gin-gonic/gin" ) // 模块路由注册 func Setup(router *gin.Engine) { logger.Infof("开始加载 ====> network_element 模块路由") // 启动时需要的初始参数 InitLoad() neGroup := router.Group("/ne") // 网元操作处理 neActionGroup := neGroup.Group("/action") { neActionGroup.GET("/files", middleware.PreAuthorize(nil), controller.NewNeAction.Files, ) neActionGroup.GET("/pullFile", middleware.PreAuthorize(nil), controller.NewNeAction.PullFile, ) neActionGroup.POST("/pushFile", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_IMPORT)), controller.NewNeAction.PushFile, ) neActionGroup.PUT("/service", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeAction.Service, ) } // 网元信息 neInfoGroup := neGroup.Group("/info") { neInfoGroup.GET("/state", middleware.PreAuthorize(nil), controller.NewNeInfo.State, ) neInfoGroup.GET("/byTypeAndID", middleware.PreAuthorize(nil), controller.NewNeInfo.NeTypeAndID, ) neInfoGroup.GET("/listAll", middleware.PreAuthorize(nil), controller.NewNeInfo.ListAll, ) neInfoGroup.GET("/para5GFile", middleware.PreAuthorize(nil), controller.NewNeInfo.Para5GFileRead, ) neInfoGroup.PUT("/para5GFile", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeInfo.Para5GFileWrite, ) neInfoGroup.GET("/oamFile", middleware.PreAuthorize(nil), controller.NewNeInfo.OAMFileRead, ) neInfoGroup.PUT("/oamFile", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeInfo.OAMFileWrite, ) neInfoGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeInfo.List, ) neInfoGroup.GET("/:infoId", middleware.PreAuthorize(nil), controller.NewNeInfo.Info, ) neInfoGroup.POST("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_INSERT)), controller.NewNeInfo.Add, ) neInfoGroup.PUT("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewNeInfo.Edit, ) neInfoGroup.DELETE("/:infoIds", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_DELETE)), controller.NewNeInfo.Remove, ) } // 网元主机 neHostGroup := neGroup.Group("/host") { neHostGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeHost.List, ) neHostGroup.GET("/:hostId", middleware.PreAuthorize(nil), controller.NewNeHost.Info, ) neHostGroup.POST("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_INSERT)), controller.NewNeHost.Add, ) neHostGroup.PUT("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewNeHost.Edit, ) neHostGroup.DELETE("/:hostIds", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_DELETE)), controller.NewNeHost.Remove, ) neHostGroup.POST("/test", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeHost.Test, ) neHostGroup.POST("/cmd", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeHost.Cmd, ) neHostGroup.POST("/checkBySSH", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeHost.CheckBySSH, ) neHostGroup.POST("/authorizedBySSH", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeHost.AuthorizedBySSH, ) } // 网元主机命令 neHostCmdGroup := neGroup.Group("/hostCmd") { neHostCmdGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeHostCmd.List, ) neHostCmdGroup.GET("/:cmdId", middleware.PreAuthorize(nil), controller.NewNeHostCmd.Info, ) neHostCmdGroup.POST("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_INSERT)), controller.NewNeHostCmd.Add, ) neHostCmdGroup.PUT("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewNeHostCmd.Edit, ) neHostCmdGroup.DELETE("/:cmdIds", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_DELETE)), controller.NewNeHostCmd.Remove, ) } // 网元版本信息 neVersionGroup := neGroup.Group("/version") { neVersionGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeVersion.List, ) neVersionGroup.GET("/:versionId", middleware.PreAuthorize(nil), controller.NewNeVersion.Info, ) neVersionGroup.POST("/operate", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neVersion", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeVersion.Operate, ) } // 网元软件包信息 neSoftwareGroup := neGroup.Group("/software") { neSoftwareGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeSoftware.List, ) neSoftwareGroup.GET("/:softwareId", middleware.PreAuthorize(nil), controller.NewNeSoftware.Info, ) neSoftwareGroup.POST("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_INSERT)), controller.NewNeSoftware.Add, ) neSoftwareGroup.PUT("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewNeSoftware.Edit, ) neSoftwareGroup.DELETE("/:softwareIds", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_DELETE)), controller.NewNeSoftware.Remove, ) neSoftwareGroup.POST("/newNeVersion", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeSoftware.NewNeVersion, ) } // 网元授权激活信息 neLicenseGroup := neGroup.Group("/license") { neLicenseGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeLicense.List, ) neLicenseGroup.GET("/:licenseId", middleware.PreAuthorize(nil), controller.NewNeLicense.Info, ) neLicenseGroup.GET("/byTypeAndID", middleware.PreAuthorize(nil), controller.NewNeLicense.NeTypeAndID, ) neLicenseGroup.GET("/code", middleware.PreAuthorize(nil), controller.NewNeLicense.Code, ) neLicenseGroup.POST("/change", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neLicense", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewNeLicense.Change, ) neLicenseGroup.GET("/state", middleware.PreAuthorize(nil), controller.NewNeLicense.State, ) } // 网元参数配置 neConfigGroup := neGroup.Group("/config") { neConfigGroup.GET("/list", middleware.PreAuthorize(nil), controller.NewNeConfig.List, ) neConfigGroup.GET("/info/:id", middleware.PreAuthorize(nil), controller.NewNeConfig.Info, ) neConfigGroup.POST("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_INSERT)), controller.NewNeConfig.Add, ) neConfigGroup.PUT("", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewNeConfig.Edit, ) neConfigGroup.DELETE("/:ids", middleware.PreAuthorize(nil), collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_DELETE)), controller.NewNeConfig.Remove, ) neConfigGroup.GET("/list/:neType", middleware.PreAuthorize(nil), controller.NewNeConfig.ListByNeType, ) neConfigGroup.GET("/data", middleware.PreAuthorize(nil), controller.NewNeConfig.Data, ) } } // InitLoad 初始参数 func InitLoad() { // 启动时,清除缓存-网元类型 service.NewNeInfoImpl.ClearNeCacheByNeType("*") service.NewNeInfoImpl.SelectNeInfoByRmuid("") // 启动时,网元公共参数数据记录到全局变量 if para5GMap, err := service.NewNeInfoImpl.NeConfPara5GRead(); para5GMap != nil && err == nil { service.NewNeInfoImpl.NeConfPara5GWirte(para5GMap, nil) } // 启动时,清除缓存-网元参数配置可用属性值 service.NewNeConfigImpl.ClearNeCacheByNeType("*") service.NewNeConfigImpl.RefreshByNeTypeAndNeID("*") }