fix: 资源数据上报文件数据格式
This commit is contained in:
@@ -8,8 +8,8 @@ type NRMLog struct {
|
||||
ChangeTime string `json:"ChangeTime" gorm:"column:change_time"` // 资源变化时间,格式为"2022-12-15 08:34:24"
|
||||
ChangeType string `json:"ChangeType" gorm:"column:change_type"` // 变化类型 add:新增 mod:修改 del:删除
|
||||
ChangeOper string `json:"ChangeOper" gorm:"column:change_oper"` // 资源的具体属性
|
||||
CreateBy string `json:"CreateBy" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"CreateTime" gorm:"column:create_time"` // 创建时间
|
||||
CreateBy string `json:"-" gorm:"column:create_by"` // 创建者
|
||||
CreateTime int64 `json:"-" gorm:"column:create_time"` // 创建时间
|
||||
}
|
||||
|
||||
// TableName 表名称
|
||||
|
||||
@@ -23,7 +23,6 @@ var NewConfigImpl = &ConfigImpl{
|
||||
neInfoService: neService.NewNeInfoImpl,
|
||||
neVersionService: neService.NewNeVersionImpl,
|
||||
resourceService: NewResourceImpl,
|
||||
nrmLogService: NewNRMLogImpl,
|
||||
}
|
||||
|
||||
// 配置数据处理服务 服务层处理
|
||||
@@ -34,8 +33,6 @@ type ConfigImpl struct {
|
||||
neVersionService neService.INeVersion
|
||||
// 资源数据处理服务
|
||||
resourceService IResource
|
||||
// 资源数据日志处理服务
|
||||
nrmLogService INRMLog
|
||||
}
|
||||
|
||||
// ConfigUploadOSS 配置数据上报
|
||||
@@ -464,7 +461,7 @@ func (s *ConfigImpl) ConfigParamModify(neInfo neModel.NeInfo, byUsername string,
|
||||
ChangeType: operType,
|
||||
ChangeOper: string(bytes),
|
||||
}
|
||||
nrmLogId := s.nrmLogService.Insert(nrmLog)
|
||||
nrmLogId := s.resourceService.ResourceeInsert(nrmLog)
|
||||
if nrmLogId != "" {
|
||||
pushData := operPara
|
||||
pushData["MsgID"] = nrmLogId
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package service
|
||||
|
||||
import "nms_cxy/src/modules/nms_cxy/model"
|
||||
|
||||
// 资源数据处理服务 服务层接口
|
||||
type IResource interface {
|
||||
// ResourceeUploadOSS 资源数据上报
|
||||
ResourceeUploadOSS(neType string) error
|
||||
|
||||
// ResourceeInsert 资源数据变更日志插入
|
||||
ResourceeInsert(nrmLog model.NRMLog) string
|
||||
|
||||
// KafkaPush 推送数据Kafka
|
||||
//
|
||||
// acronyms 资源对象类型简称,没有就填空字符串
|
||||
|
||||
@@ -6,29 +6,114 @@ import (
|
||||
"nms_cxy/src/framework/constants/uploadsubpath"
|
||||
"nms_cxy/src/framework/logger"
|
||||
"nms_cxy/src/framework/utils/file"
|
||||
"nms_cxy/src/framework/utils/parse"
|
||||
neService "nms_cxy/src/modules/network_element/service"
|
||||
"nms_cxy/src/modules/nms_cxy/model"
|
||||
"nms_cxy/src/modules/nms_cxy/utils/common"
|
||||
"nms_cxy/src/modules/nms_cxy/utils/kafka"
|
||||
)
|
||||
|
||||
// 实例化数据层 ResourceImpl 结构体
|
||||
var NewResourceImpl = &ResourceImpl{}
|
||||
var NewResourceImpl = &ResourceImpl{
|
||||
nrmLogService: NewNRMLogImpl,
|
||||
neInfoService: neService.NewNeInfoImpl,
|
||||
}
|
||||
|
||||
// 资源数据处理服务 服务层处理
|
||||
type ResourceImpl struct{}
|
||||
type ResourceImpl struct {
|
||||
// 资源数据日志处理服务
|
||||
nrmLogService INRMLog
|
||||
// 网元信息服务
|
||||
neInfoService neService.INeInfo
|
||||
}
|
||||
|
||||
// ResourceeUploadOSS 资源数据上报
|
||||
// OMC在每天的0时及12时上报网元的全量资源数据文件至OSS
|
||||
func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
||||
// 资源数据
|
||||
var pageNum int64 = 1
|
||||
var pageSize int64 = 20
|
||||
dataArr := []any{}
|
||||
dataArr = append(dataArr, map[string]any{
|
||||
"RUID": "WXZX001CLL0000115349200113",
|
||||
"UserLabel": "cell1000",
|
||||
"CellBarred": 0,
|
||||
"UeInactiveTimer": 10000,
|
||||
"SupportRRCNumbers": 200,
|
||||
|
||||
// 查网元
|
||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(neType, "001")
|
||||
if neInfo.NeType != neType {
|
||||
logger.Errorf("ResourceeUploadOSS ne info not fount")
|
||||
return fmt.Errorf("ne info not fount")
|
||||
}
|
||||
startTime := 1711331232081 // time.Now().UnixMilli()
|
||||
|
||||
// 查询数据
|
||||
pageData := s.nrmLogService.SelectPage(map[string]any{
|
||||
"startTime": startTime,
|
||||
"neType": neType,
|
||||
"ruid": neInfo.RmUID,
|
||||
"pageNum": pageNum,
|
||||
"pageSize": pageSize,
|
||||
})
|
||||
|
||||
total := parse.Number(pageData["total"])
|
||||
rows, ok := pageData["rows"].([]model.NRMLog)
|
||||
if !ok || len(rows) <= 0 {
|
||||
return fmt.Errorf("resourcee rows not fount")
|
||||
}
|
||||
for _, v := range rows {
|
||||
data := map[string]any{}
|
||||
data["MsgID"] = v.MsgID
|
||||
data["Ruid"] = v.Ruid
|
||||
data["UserLabel"] = v.UserLabel
|
||||
data["ChangeTime"] = v.ChangeTime
|
||||
data["ChangeType"] = v.ChangeType
|
||||
// 操作数据合并
|
||||
changeOper := map[string]any{}
|
||||
json.Unmarshal([]byte(v.ChangeOper), &changeOper)
|
||||
for operK, operV := range changeOper {
|
||||
data[operK] = operV
|
||||
}
|
||||
dataArr = append(dataArr, data)
|
||||
}
|
||||
pageNum += 1
|
||||
|
||||
// 按总数分批遍历
|
||||
batchNum := total / pageSize
|
||||
for i := 1; i <= int(batchNum); i++ {
|
||||
// 查询数据
|
||||
pageData := s.nrmLogService.SelectPage(map[string]any{
|
||||
"startTime": startTime,
|
||||
"neType": neType,
|
||||
"ruid": neInfo.RmUID,
|
||||
"pageNum": pageNum,
|
||||
"pageSize": pageSize,
|
||||
})
|
||||
rows, ok := pageData["rows"].([]model.NRMLog)
|
||||
if !ok || len(rows) <= 0 {
|
||||
return fmt.Errorf("resourcee rows not fount")
|
||||
}
|
||||
for _, v := range rows {
|
||||
data := map[string]any{}
|
||||
data["MsgID"] = v.MsgID
|
||||
data["Ruid"] = v.Ruid
|
||||
data["UserLabel"] = v.UserLabel
|
||||
data["ChangeTime"] = v.ChangeTime
|
||||
data["ChangeType"] = v.ChangeType
|
||||
// 操作数据合并
|
||||
changeOper := map[string]any{}
|
||||
json.Unmarshal([]byte(v.ChangeOper), &changeOper)
|
||||
for operK, operV := range changeOper {
|
||||
data[operK] = operV
|
||||
}
|
||||
dataArr = append(dataArr, data)
|
||||
}
|
||||
pageNum += 1
|
||||
}
|
||||
|
||||
// dataArr = append(dataArr, map[string]any{
|
||||
// "RUID": "WXZX001CLL0000115349200113",
|
||||
// "UserLabel": "cell1000",
|
||||
// "CellBarred": 0,
|
||||
// "UeInactiveTimer": 10000,
|
||||
// "SupportRRCNumbers": 200,
|
||||
// })
|
||||
|
||||
// 文件名
|
||||
dataSaveFileName := common.DataSaveFileName{
|
||||
ResCode: neType,
|
||||
@@ -43,6 +128,11 @@ func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
||||
return common.UploadOSSByJSONToZip(filePath, neType, "NRM")
|
||||
}
|
||||
|
||||
// ResourceeInsert 资源数据变更日志插入
|
||||
func (s *ResourceImpl) ResourceeInsert(nrmLog model.NRMLog) string {
|
||||
return s.nrmLogService.Insert(nrmLog)
|
||||
}
|
||||
|
||||
// KafkaPush 推送数据Kafka
|
||||
//
|
||||
// acronyms 资源对象类型简称,没有就填空字符串
|
||||
|
||||
Reference in New Issue
Block a user