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"
|
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:删除
|
ChangeType string `json:"ChangeType" gorm:"column:change_type"` // 变化类型 add:新增 mod:修改 del:删除
|
||||||
ChangeOper string `json:"ChangeOper" gorm:"column:change_oper"` // 资源的具体属性
|
ChangeOper string `json:"ChangeOper" gorm:"column:change_oper"` // 资源的具体属性
|
||||||
CreateBy string `json:"CreateBy" gorm:"column:create_by"` // 创建者
|
CreateBy string `json:"-" gorm:"column:create_by"` // 创建者
|
||||||
CreateTime int64 `json:"CreateTime" gorm:"column:create_time"` // 创建时间
|
CreateTime int64 `json:"-" gorm:"column:create_time"` // 创建时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName 表名称
|
// TableName 表名称
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ var NewConfigImpl = &ConfigImpl{
|
|||||||
neInfoService: neService.NewNeInfoImpl,
|
neInfoService: neService.NewNeInfoImpl,
|
||||||
neVersionService: neService.NewNeVersionImpl,
|
neVersionService: neService.NewNeVersionImpl,
|
||||||
resourceService: NewResourceImpl,
|
resourceService: NewResourceImpl,
|
||||||
nrmLogService: NewNRMLogImpl,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配置数据处理服务 服务层处理
|
// 配置数据处理服务 服务层处理
|
||||||
@@ -34,8 +33,6 @@ type ConfigImpl struct {
|
|||||||
neVersionService neService.INeVersion
|
neVersionService neService.INeVersion
|
||||||
// 资源数据处理服务
|
// 资源数据处理服务
|
||||||
resourceService IResource
|
resourceService IResource
|
||||||
// 资源数据日志处理服务
|
|
||||||
nrmLogService INRMLog
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConfigUploadOSS 配置数据上报
|
// ConfigUploadOSS 配置数据上报
|
||||||
@@ -464,7 +461,7 @@ func (s *ConfigImpl) ConfigParamModify(neInfo neModel.NeInfo, byUsername string,
|
|||||||
ChangeType: operType,
|
ChangeType: operType,
|
||||||
ChangeOper: string(bytes),
|
ChangeOper: string(bytes),
|
||||||
}
|
}
|
||||||
nrmLogId := s.nrmLogService.Insert(nrmLog)
|
nrmLogId := s.resourceService.ResourceeInsert(nrmLog)
|
||||||
if nrmLogId != "" {
|
if nrmLogId != "" {
|
||||||
pushData := operPara
|
pushData := operPara
|
||||||
pushData["MsgID"] = nrmLogId
|
pushData["MsgID"] = nrmLogId
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
|
import "nms_cxy/src/modules/nms_cxy/model"
|
||||||
|
|
||||||
// 资源数据处理服务 服务层接口
|
// 资源数据处理服务 服务层接口
|
||||||
type IResource interface {
|
type IResource interface {
|
||||||
// ResourceeUploadOSS 资源数据上报
|
// ResourceeUploadOSS 资源数据上报
|
||||||
ResourceeUploadOSS(neType string) error
|
ResourceeUploadOSS(neType string) error
|
||||||
|
|
||||||
|
// ResourceeInsert 资源数据变更日志插入
|
||||||
|
ResourceeInsert(nrmLog model.NRMLog) string
|
||||||
|
|
||||||
// KafkaPush 推送数据Kafka
|
// KafkaPush 推送数据Kafka
|
||||||
//
|
//
|
||||||
// acronyms 资源对象类型简称,没有就填空字符串
|
// acronyms 资源对象类型简称,没有就填空字符串
|
||||||
|
|||||||
@@ -6,29 +6,114 @@ import (
|
|||||||
"nms_cxy/src/framework/constants/uploadsubpath"
|
"nms_cxy/src/framework/constants/uploadsubpath"
|
||||||
"nms_cxy/src/framework/logger"
|
"nms_cxy/src/framework/logger"
|
||||||
"nms_cxy/src/framework/utils/file"
|
"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/common"
|
||||||
"nms_cxy/src/modules/nms_cxy/utils/kafka"
|
"nms_cxy/src/modules/nms_cxy/utils/kafka"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 实例化数据层 ResourceImpl 结构体
|
// 实例化数据层 ResourceImpl 结构体
|
||||||
var NewResourceImpl = &ResourceImpl{}
|
var NewResourceImpl = &ResourceImpl{
|
||||||
|
nrmLogService: NewNRMLogImpl,
|
||||||
|
neInfoService: neService.NewNeInfoImpl,
|
||||||
|
}
|
||||||
|
|
||||||
// 资源数据处理服务 服务层处理
|
// 资源数据处理服务 服务层处理
|
||||||
type ResourceImpl struct{}
|
type ResourceImpl struct {
|
||||||
|
// 资源数据日志处理服务
|
||||||
|
nrmLogService INRMLog
|
||||||
|
// 网元信息服务
|
||||||
|
neInfoService neService.INeInfo
|
||||||
|
}
|
||||||
|
|
||||||
// ResourceeUploadOSS 资源数据上报
|
// ResourceeUploadOSS 资源数据上报
|
||||||
// OMC在每天的0时及12时上报网元的全量资源数据文件至OSS
|
// OMC在每天的0时及12时上报网元的全量资源数据文件至OSS
|
||||||
func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
||||||
// 资源数据
|
var pageNum int64 = 1
|
||||||
|
var pageSize int64 = 20
|
||||||
dataArr := []any{}
|
dataArr := []any{}
|
||||||
dataArr = append(dataArr, map[string]any{
|
|
||||||
"RUID": "WXZX001CLL0000115349200113",
|
// 查网元
|
||||||
"UserLabel": "cell1000",
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(neType, "001")
|
||||||
"CellBarred": 0,
|
if neInfo.NeType != neType {
|
||||||
"UeInactiveTimer": 10000,
|
logger.Errorf("ResourceeUploadOSS ne info not fount")
|
||||||
"SupportRRCNumbers": 200,
|
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{
|
dataSaveFileName := common.DataSaveFileName{
|
||||||
ResCode: neType,
|
ResCode: neType,
|
||||||
@@ -43,6 +128,11 @@ func (s *ResourceImpl) ResourceeUploadOSS(neType string) error {
|
|||||||
return common.UploadOSSByJSONToZip(filePath, neType, "NRM")
|
return common.UploadOSSByJSONToZip(filePath, neType, "NRM")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ResourceeInsert 资源数据变更日志插入
|
||||||
|
func (s *ResourceImpl) ResourceeInsert(nrmLog model.NRMLog) string {
|
||||||
|
return s.nrmLogService.Insert(nrmLog)
|
||||||
|
}
|
||||||
|
|
||||||
// KafkaPush 推送数据Kafka
|
// KafkaPush 推送数据Kafka
|
||||||
//
|
//
|
||||||
// acronyms 资源对象类型简称,没有就填空字符串
|
// acronyms 资源对象类型简称,没有就填空字符串
|
||||||
|
|||||||
Reference in New Issue
Block a user