feat: 中国星网网络创新研究院-北向模块
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
|
||||
网络管理系统-北向接口
|
||||
|
||||
中国星网网络创新研究院-北向模块 `src\modules\api_rest_cxy`, 注入路径:`/nms-cxy/api/rest`,其余功能以网管住程序为基础包
|
||||
功能以网管主程序为基础包
|
||||
|
||||
- 中国星网网络创新研究院-北向模块 `src\modules\nms_cxy`
|
||||
|
||||
## redis 配置文件相关
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: d:/local.git/be.ems/restagent/log/restagent.log
|
||||
file: d:/local.git/nms_nbi/restagent/log/restagent.log
|
||||
level: trace
|
||||
duration: 24
|
||||
count: 2
|
||||
@@ -26,7 +26,7 @@ rest:
|
||||
keyFile: ./etc/certs/omc-server.key
|
||||
|
||||
webServer:
|
||||
enabled: true
|
||||
enabled: false
|
||||
rootDir: d:/local.git/fe.ems.vue3/dist
|
||||
listen:
|
||||
- addr: :80
|
||||
@@ -178,7 +178,9 @@ testConfig:
|
||||
file: ./etc/testconfig.yaml
|
||||
|
||||
# NMS-中国星网研究院
|
||||
cxy:
|
||||
nmsCXY:
|
||||
# 注入路由组
|
||||
routerGroup: "/nms-cxy/api/rest"
|
||||
# 专业编码2位 核心网HX 无线网WX
|
||||
professionCode: "HX"
|
||||
# 厂商编码2位 中信科ZX
|
||||
|
||||
@@ -8,13 +8,13 @@ import (
|
||||
"nms_nbi/src/framework/errorcatch"
|
||||
"nms_nbi/src/framework/middleware"
|
||||
"nms_nbi/src/framework/middleware/security"
|
||||
apirestcxy "nms_nbi/src/modules/api_rest_cxy"
|
||||
"nms_nbi/src/modules/chart"
|
||||
"nms_nbi/src/modules/common"
|
||||
"nms_nbi/src/modules/crontask"
|
||||
"nms_nbi/src/modules/monitor"
|
||||
networkdata "nms_nbi/src/modules/network_data"
|
||||
networkelement "nms_nbi/src/modules/network_element"
|
||||
nmscxy "nms_nbi/src/modules/nms_cxy"
|
||||
"nms_nbi/src/modules/system"
|
||||
"nms_nbi/src/modules/trace"
|
||||
"nms_nbi/src/modules/ws"
|
||||
@@ -135,5 +135,5 @@ func initModulesRoute(app *gin.Engine) {
|
||||
// 监控模块 - 含调度处理加入队列,放最后
|
||||
monitor.Setup(app)
|
||||
// 北向模块 - 中国星网
|
||||
apirestcxy.Setup(app)
|
||||
nmscxy.Setup(app)
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package service
|
||||
|
||||
// 资源数据处理服务 服务层接口
|
||||
type IResource interface {
|
||||
// ResourceDataToFile 资源数据写入文件
|
||||
ResourceDataToFile(requestId, neType, rmUID, startTime, endTime string) (int64, string)
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package service
|
||||
|
||||
// 实例化数据层 ResourceImpl 结构体
|
||||
var NewResourceImpl = &ResourceImpl{}
|
||||
|
||||
// 资源数据处理服务 服务层处理
|
||||
type ResourceImpl struct{}
|
||||
|
||||
// ResourceDataToFile 资源数据写入文件
|
||||
func (s *ResourceImpl) ResourceDataToFile(requestId, neType, rmUID, startTime, endTime string) (int64, string) {
|
||||
|
||||
return 0, ""
|
||||
}
|
||||
35
src/modules/nms_cxy/README.md
Normal file
35
src/modules/nms_cxy/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
## 北向模块 - 中国星网网络创新研究院
|
||||
|
||||
以网管代码为基础,模块相关配置内部处理
|
||||
|
||||
### 模块配置拓展
|
||||
|
||||
注册该模块时将以下配置复制到配置文件中,独立层级
|
||||
|
||||
```yaml
|
||||
# NMS-中国星网研究院
|
||||
nmsCXY:
|
||||
# 注入路由组
|
||||
routerGroup: "/nms-cxy/api/rest"
|
||||
# 专业编码2位 核心网HX 无线网WX
|
||||
professionCode: "HX"
|
||||
# 厂商编码2位 中信科ZX
|
||||
vendorCode: "AG"
|
||||
# OMC编号3位
|
||||
omcCode: "001"
|
||||
# 设备序列号
|
||||
serialNumber: "1153492"
|
||||
# Kafka配置
|
||||
kafka:
|
||||
addrs:
|
||||
- "192.168.5.59:19092"
|
||||
- "192.168.5.59:29092"
|
||||
- "192.168.5.59:39092"
|
||||
# OSS配置
|
||||
oss:
|
||||
bucketname: "omc-bucket"
|
||||
endpoint: "192.168.5.59:9000"
|
||||
useSSL: false
|
||||
accessKeyID: "aOW0r1gfw74G88Z3XZJ6"
|
||||
secretAccessKey: "9tDErvtCEuVox6LoQu5BOVtycQKcQjlXOGvjl1eD"
|
||||
```
|
||||
@@ -9,9 +9,9 @@ import (
|
||||
"nms_nbi/src/framework/utils/date"
|
||||
"nms_nbi/src/framework/utils/ping"
|
||||
"nms_nbi/src/framework/vo/result"
|
||||
"nms_nbi/src/modules/api_rest_cxy/service"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/common"
|
||||
neService "nms_nbi/src/modules/network_element/service"
|
||||
"nms_nbi/src/modules/nms_cxy/service"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
|
||||
"time"
|
||||
|
||||
@@ -5,11 +5,11 @@ import (
|
||||
"nms_nbi/src/framework/i18n"
|
||||
"nms_nbi/src/framework/utils/ctx"
|
||||
"nms_nbi/src/framework/vo/result"
|
||||
"nms_nbi/src/modules/api_rest_cxy/service"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/kafka"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/oss"
|
||||
neDataModel "nms_nbi/src/modules/network_data/model"
|
||||
neService "nms_nbi/src/modules/network_element/service"
|
||||
"nms_nbi/src/modules/nms_cxy/service"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/kafka"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/oss"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
@@ -20,6 +20,7 @@ var NewTest = &TestController{
|
||||
alarmService: service.NewAlarmImpl,
|
||||
configService: service.NewConfigImpl,
|
||||
performanceService: service.NewPerformanceImpl,
|
||||
resourceService: service.NewResourceImpl,
|
||||
}
|
||||
|
||||
// 测试接口
|
||||
@@ -34,6 +35,8 @@ type TestController struct {
|
||||
configService service.IConfig
|
||||
// 性能数据处理服务
|
||||
performanceService service.IPerformance
|
||||
// 资源数据处理服务
|
||||
resourceService service.IResource
|
||||
}
|
||||
|
||||
// kafka发送消息
|
||||
@@ -215,6 +218,15 @@ func (s *TestController) OssTestUp(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
if body.OperType == "resource" {
|
||||
err := s.resourceService.ResourceeUploadOSS("AMF")
|
||||
c.JSON(200, map[string]any{
|
||||
"requestId": body.RequestId,
|
||||
"operType": body.OperType,
|
||||
"err": err,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(200, map[string]any{
|
||||
"requestId": body.RequestId,
|
||||
@@ -1,11 +1,12 @@
|
||||
package apirestcxy
|
||||
package nmscxy
|
||||
|
||||
import (
|
||||
"nms_nbi/src/framework/config"
|
||||
"nms_nbi/src/framework/logger"
|
||||
"nms_nbi/src/framework/middleware"
|
||||
"nms_nbi/src/modules/api_rest_cxy/controller"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/kafka"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/oss"
|
||||
"nms_nbi/src/modules/nms_cxy/controller"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/kafka"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/oss"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
@@ -14,7 +15,8 @@ import (
|
||||
func Setup(router *gin.Engine) {
|
||||
logger.Infof("开始加载 ====> NMS-CXY 北向模块路由")
|
||||
|
||||
apiRest := router.Group("nms-cxy/api/rest")
|
||||
routerGroup := config.Get("nmsCXY.routerGroup")
|
||||
apiRest := router.Group(routerGroup.(string))
|
||||
|
||||
// 启动时需要的初始参数
|
||||
InitLoad()
|
||||
@@ -1,8 +1,8 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"nms_nbi/src/modules/api_rest_cxy/model"
|
||||
neDataModel "nms_nbi/src/modules/network_data/model"
|
||||
"nms_nbi/src/modules/nms_cxy/model"
|
||||
)
|
||||
|
||||
// 告警数据处理服务 服务层接口
|
||||
@@ -8,11 +8,11 @@ import (
|
||||
"nms_nbi/src/framework/utils/date"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/framework/utils/parse"
|
||||
"nms_nbi/src/modules/api_rest_cxy/model"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/common"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/kafka"
|
||||
neDataModel "nms_nbi/src/modules/network_data/model"
|
||||
neDataService "nms_nbi/src/modules/network_data/service"
|
||||
"nms_nbi/src/modules/nms_cxy/model"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/kafka"
|
||||
)
|
||||
|
||||
// 实例化数据层 AlarmImpl 结构体
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"nms_nbi/src/framework/constants/uploadsubpath"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/common"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
)
|
||||
|
||||
// 实例化数据层 ConfigImpl 结构体
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"nms_nbi/src/framework/i18n"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/framework/utils/parse"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/common"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
systemModel "nms_nbi/src/modules/system/model"
|
||||
systemService "nms_nbi/src/modules/system/service"
|
||||
)
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"fmt"
|
||||
"nms_nbi/src/framework/constants/uploadsubpath"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/common"
|
||||
neDataModel "nms_nbi/src/modules/network_data/model"
|
||||
neDataService "nms_nbi/src/modules/network_data/service"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
)
|
||||
|
||||
// 实例化数据层 PerformanceImpl 结构体
|
||||
7
src/modules/nms_cxy/service/resource.go
Normal file
7
src/modules/nms_cxy/service/resource.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package service
|
||||
|
||||
// 资源数据处理服务 服务层接口
|
||||
type IResource interface {
|
||||
// ResourceeUploadOSS 资源数据上报
|
||||
ResourceeUploadOSS(neType string) error
|
||||
}
|
||||
32
src/modules/nms_cxy/service/resource.impl.go
Normal file
32
src/modules/nms_cxy/service/resource.impl.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"nms_nbi/src/framework/constants/uploadsubpath"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/common"
|
||||
)
|
||||
|
||||
// 实例化数据层 ResourceImpl 结构体
|
||||
var NewResourceImpl = &ResourceImpl{}
|
||||
|
||||
// 资源数据处理服务 服务层处理
|
||||
type ResourceImpl struct{}
|
||||
|
||||
// ResourceeUploadOSS 资源数据上报
|
||||
func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
||||
// 配置文件目录
|
||||
dir := "C:\\usr\\local\\omc\\upload\\export\\2023\\12"
|
||||
|
||||
// 文件名
|
||||
dataSaveFileName := common.DataSaveFileName{}
|
||||
fileName := dataSaveFileName.ZIP()
|
||||
filePath := fmt.Sprintf("%s/%s", file.ParseUploadFileDir(uploadsubpath.EXPORT), fileName)
|
||||
|
||||
err := file.CompressZipByDir(filePath, dir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return common.UploadOSSByZip(filePath, neType, "CM")
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"nms_nbi/src/framework/config"
|
||||
"nms_nbi/src/framework/utils/date"
|
||||
"nms_nbi/src/framework/utils/file"
|
||||
"nms_nbi/src/modules/api_rest_cxy/utils/oss"
|
||||
"nms_nbi/src/modules/nms_cxy/utils/oss"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -50,7 +50,7 @@ func (s *DataSaveFileName) join() string {
|
||||
if s.ResCode != "" {
|
||||
nameArr = append(nameArr, s.ResCode)
|
||||
} else {
|
||||
serialNumber := config.Get("cxy.serialNumber").(string)
|
||||
serialNumber := config.Get("nmsCXY.serialNumber").(string)
|
||||
serialNumber = fmt.Sprintf("%0*s", 16, serialNumber)
|
||||
nameArr = append(nameArr, serialNumber)
|
||||
}
|
||||
@@ -120,9 +120,9 @@ func DataSaveFilePath(neType, dataType string) string {
|
||||
//
|
||||
// 专业编码{separator}OMC厂商编码{separator}OMC编号
|
||||
func BasePath(separator string) string {
|
||||
professionCode := config.Get("cxy.professionCode").(string)
|
||||
vendorCode := config.Get("cxy.vendorCode").(string)
|
||||
omcCode := config.Get("cxy.omcCode").(string)
|
||||
professionCode := config.Get("nmsCXY.professionCode").(string)
|
||||
vendorCode := config.Get("nmsCXY.vendorCode").(string)
|
||||
omcCode := config.Get("nmsCXY.omcCode").(string)
|
||||
return fmt.Sprintf("%s%s%s%s%s", professionCode, separator, vendorCode, separator, omcCode)
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ var KInitConm Kafka
|
||||
func InitConfig() {
|
||||
// 服务地址
|
||||
addrs := []string{}
|
||||
addrsArr := config.Get("cxy.kafka.addrs").([]any)
|
||||
addrsArr := config.Get("nmsCXY.kafka.addrs").([]any)
|
||||
for _, v := range addrsArr {
|
||||
addrs = append(addrs, v.(string))
|
||||
}
|
||||
@@ -15,11 +15,11 @@ var OInitConm *minio.Client
|
||||
// InitConfig 连接OSS实例
|
||||
func InitConfig() {
|
||||
// 读取数据源配置
|
||||
bucketname := config.Get("cxy.oss.bucketname").(string)
|
||||
endpoint := config.Get("cxy.oss.endpoint").(string)
|
||||
useSSL := config.Get("cxy.oss.useSSL").(bool)
|
||||
accessKeyID := config.Get("cxy.oss.accessKeyID").(string)
|
||||
secretAccessKey := config.Get("cxy.oss.secretAccessKey").(string)
|
||||
bucketname := config.Get("nmsCXY.oss.bucketname").(string)
|
||||
endpoint := config.Get("nmsCXY.oss.endpoint").(string)
|
||||
useSSL := config.Get("nmsCXY.oss.useSSL").(bool)
|
||||
accessKeyID := config.Get("nmsCXY.oss.accessKeyID").(string)
|
||||
secretAccessKey := config.Get("nmsCXY.oss.secretAccessKey").(string)
|
||||
|
||||
// 初始minio客户端对象
|
||||
minioClient, err := minio.New(endpoint, &minio.Options{
|
||||
@@ -44,7 +44,7 @@ func InitConfig() {
|
||||
|
||||
// FileUploadFileByFilePath 文件上传-文件绝对路径
|
||||
func FileUploadFileByFilePath(filePath, newFileName string) (minio.UploadInfo, error) {
|
||||
bucketname := config.Get("cxy.oss.bucketname").(string)
|
||||
bucketname := config.Get("nmsCXY.oss.bucketname").(string)
|
||||
contentType := "application/octet-stream"
|
||||
// Upload the test file with FPutObject
|
||||
ctx := context.Background()
|
||||
Reference in New Issue
Block a user