From 4629c8b7d679c50c0fb41af2b23db2bcf1b55f6f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 12 Aug 2025 17:05:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20kpi=E6=8E=A5=E6=94=B6neinfo=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=B1=80=E9=83=A8=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/oam/service/kpi.go | 37 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/modules/oam/service/kpi.go b/src/modules/oam/service/kpi.go index d5e82ad6..c9f567bb 100644 --- a/src/modules/oam/service/kpi.go +++ b/src/modules/oam/service/kpi.go @@ -32,7 +32,6 @@ type KPI struct { wsService *wsService.WSSend kpiReportService *neDataService.KpiReport kpiCReportService *neDataService.KpiCReport - neInfo neModel.NeInfo } // Resolve 接收处理 @@ -41,8 +40,8 @@ func (s *KPI) Resolve(k oam.KPI) error { return fmt.Errorf("kpi data is nil") } // 是否存在网元 - s.neInfo = s.neInfoService.FindByRmuid(k.NeUid) - if s.neInfo.NeType == "" || s.neInfo.RmUID != k.NeUid { + neInfo := s.neInfoService.FindByRmuid(k.NeUid) + if neInfo.NeType == "" || neInfo.RmUID != k.NeUid { return fmt.Errorf("resolve kpi network element does not exist %s", k.NeUid) } @@ -51,17 +50,17 @@ func (s *KPI) Resolve(k oam.KPI) error { curSeconds := curTime.Hour()*3600 + curTime.Minute()*60 + curTime.Second() index := int64(curSeconds) / k.Granularity - if err := s.saveKPIData(k, index); err != nil { + if err := s.saveKPIData(neInfo, k, index); err != nil { return err } - if err := s.saveKPIDataC(k, index); err != nil { + if err := s.saveKPIDataC(neInfo, k, index); err != nil { return err } return nil } // saveKPIData 存储KPI数据并推送到ws订阅组 -func (s *KPI) saveKPIData(k oam.KPI, index int64) error { +func (s KPI) saveKPIData(neInfo neModel.NeInfo, k oam.KPI, index int64) error { // 时间数据处理 recordTime := time.Now() if k.RecordTime > 1e12 { @@ -75,7 +74,7 @@ func (s *KPI) saveKPIData(k oam.KPI, index int64) error { recordStartTime := date.ParseDateToStr(startTime, "15:04:05") // kpi data数据json - kpiTitles := s.kpiReportService.FindTitle(s.neInfo.NeType) + kpiTitles := s.kpiReportService.FindTitle(neInfo.NeType) KpiValues := make([]map[string]any, 0) for _, kt := range kpiTitles { item := map[string]any{ @@ -99,9 +98,9 @@ func (s *KPI) saveKPIData(k oam.KPI, index int64) error { // KPI 信息 kpiData := neDataModel.KpiReport{ - NeType: s.neInfo.NeType, - NeName: s.neInfo.NeName, - RmUid: s.neInfo.RmUID, + NeType: neInfo.NeType, + NeName: neInfo.NeName, + RmUid: neInfo.RmUID, Date: recordDate, StartTime: recordStartTime, EndTime: recordEndTime, @@ -130,18 +129,18 @@ func (s *KPI) saveKPIData(k oam.KPI, index int64) error { } // 推送到ws订阅组 - s.wsService.ByGroupID(fmt.Sprintf("%s_%s_%s", wsService.GROUP_KPI, s.neInfo.NeType, s.neInfo.NeId), data) + s.wsService.ByGroupID(fmt.Sprintf("%s_%s_%s", wsService.GROUP_KPI, neInfo.NeType, neInfo.NeId), data) // 更新UPF总流量 - if s.neInfo.NeType == "UPF" { + if neInfo.NeType == "UPF" { upValue := parse.Number(data["UPF.03"]) downValue := parse.Number(data["UPF.06"]) - s.kpiReportService.UPFTodayFlowUpdate(s.neInfo.RmUID, upValue, downValue) + s.kpiReportService.UPFTodayFlowUpdate(neInfo.RmUID, upValue, downValue) } return nil } // saveKPIDataC 存储自定义KPI数据并推送到ws订阅组 -func (s *KPI) saveKPIDataC(k oam.KPI, index int64) error { +func (s KPI) saveKPIDataC(neInfo neModel.NeInfo, k oam.KPI, index int64) error { // 时间数据处理 recordTime := time.Now() if k.RecordTime > 1e12 { @@ -155,7 +154,7 @@ func (s *KPI) saveKPIDataC(k oam.KPI, index int64) error { recordStartTime := date.ParseDateToStr(startTime, "15:04:05") // kpi data数据json - kpiCTitles := s.kpiCReportService.FindTitle(s.neInfo.NeType) + kpiCTitles := s.kpiCReportService.FindTitle(neInfo.NeType) KpiValues := make([]map[string]any, 0) // 自定义指标的表达式环境变量 KpiExprEnv := make(map[string]any, 0) @@ -206,9 +205,9 @@ func (s *KPI) saveKPIDataC(k oam.KPI, index int64) error { // KPI 信息 kpiCData := neDataModel.KpiCReport{ - NeType: s.neInfo.NeType, - NeName: s.neInfo.NeName, - RmUid: s.neInfo.RmUID, + NeType: neInfo.NeType, + NeName: neInfo.NeName, + RmUid: neInfo.RmUID, Date: recordDate, StartTime: recordStartTime, EndTime: recordEndTime, @@ -237,6 +236,6 @@ func (s *KPI) saveKPIDataC(k oam.KPI, index int64) error { } // 推送到ws订阅组 - s.wsService.ByGroupID(fmt.Sprintf("%s_%s_%s", wsService.GROUP_KPI_C, s.neInfo.NeType, s.neInfo.NeId), data) + s.wsService.ByGroupID(fmt.Sprintf("%s_%s_%s", wsService.GROUP_KPI_C, neInfo.NeType, neInfo.NeId), data) return nil }