From a0297990d963bdbada4ed527e9e3f41f106a227d Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 29 Oct 2024 14:35:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E5=BA=A6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=9B=B4=E6=96=B0UDM=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processor/ne_data_udm/ne_data_udm.go | 45 +++++++++++++++++++ src/modules/crontask/processor/processor.go | 3 ++ 2 files changed, 48 insertions(+) create mode 100644 src/modules/crontask/processor/ne_data_udm/ne_data_udm.go 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 new file mode 100644 index 00000000..ae583ae9 --- /dev/null +++ b/src/modules/crontask/processor/ne_data_udm/ne_data_udm.go @@ -0,0 +1,45 @@ +package ne_data_udm + +import ( + "fmt" + + "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" +) + +var NewProcessor = &NeDataUDM{ + udmAuthService: neDataService.NewUDMAuthUser, + udmSubService: neDataService.NewUDMSubUser, + neInfoService: neService.NewNeInfo, + count: 0, +} + +// NeDataUDM 网元配置文件定期备份 +type NeDataUDM struct { + udmAuthService *neDataService.UDMAuthUser // UDM鉴权信息 + udmSubService *neDataService.UDMSubUser // UDM签约信息 + neInfoService *neService.NeInfo // 网元信息服务 + count int // 执行次数 +} + +func (s *NeDataUDM) Execute(data any) (any, error) { + s.count++ // 执行次数加一 + options := data.(cron.JobData) + sysJob := options.SysJob + logger.Infof("重复 %v 任务ID %s", options.Repeat, sysJob.JobID) + // 返回结果,用于记录执行结果 + result := map[string]any{ + "count": s.count, + } + + neList := s.neInfoService.SelectList(neModel.NeInfo{NeType: "UDM"}, false, false) + for _, neInfo := range neList { + result[fmt.Sprintf("AuthNumber_%s", neInfo.NeId)] = s.udmAuthService.ResetData(neInfo.NeId) + result[fmt.Sprintf("SubNumber_%s", neInfo.NeId)] = s.udmSubService.ResetData(neInfo.NeId) + } + + return result, nil +} diff --git a/src/modules/crontask/processor/processor.go b/src/modules/crontask/processor/processor.go index 5363e561..9e41b045 100644 --- a/src/modules/crontask/processor/processor.go +++ b/src/modules/crontask/processor/processor.go @@ -10,6 +10,7 @@ import ( "be.ems/src/modules/crontask/processor/getStateFromNE" processorMonitorSysResource "be.ems/src/modules/crontask/processor/monitor_sys_resource" processorNeConfigBackup "be.ems/src/modules/crontask/processor/ne_config_backup" + processorNeDataUDM "be.ems/src/modules/crontask/processor/ne_data_udm" "be.ems/src/modules/crontask/processor/removeFile" ) @@ -19,6 +20,8 @@ func InitCronQueue() { cron.CreateQueue("monitor_sys_resource", processorMonitorSysResource.NewProcessor) // 网元-网元配置文件定期备份 cron.CreateQueue("ne_config_backup", processorNeConfigBackup.NewProcessor) + // 网元数据-UDM数据刷新同步 + cron.CreateQueue("ne_data_udm", processorNeDataUDM.NewProcessor) // delete expired NE backup file cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor) cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)