From 34f8456721cefa1249671d9fb28ff7590b4ae9dc Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 20 Aug 2025 16:49:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4event/ue=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=92=E5=BA=8F=E5=AD=97=E6=AE=B5=E6=8F=90=E5=8D=87?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=B4=A2=E5=BC=95=E5=91=BD=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../network_data/repository/all_perf_kpi.go | 92 ++++++++++++++++++- .../network_data/repository/cdr_event_ims.go | 2 +- .../network_data/repository/cdr_event_smf.go | 2 +- .../network_data/repository/cdr_event_smsc.go | 2 +- .../network_data/repository/ue_event_amf.go | 2 +- .../network_data/repository/ue_event_mme.go | 2 +- 6 files changed, 96 insertions(+), 6 deletions(-) diff --git a/src/modules/network_data/repository/all_perf_kpi.go b/src/modules/network_data/repository/all_perf_kpi.go index 94c9d55c..b01c9bea 100644 --- a/src/modules/network_data/repository/all_perf_kpi.go +++ b/src/modules/network_data/repository/all_perf_kpi.go @@ -132,13 +132,103 @@ func (r PerfKPI) SelectKPI(query model.GoldKPIQuery) []model.KpiReport { // SelectGoldKPITitle 网元对应的指标名称 func (r *PerfKPI) SelectGoldKPITitle(neType string) []model.GoldKPITitle { result := []model.GoldKPITitle{} - tx := datasource.DefaultDB().Table("kpi_title").Where("ne_type = ?", neType).Find(&result) + tx := datasource.DefaultDB().Table("kpi_title").Where("ne_type = ? and status_flag = '1'", neType).Find(&result) if err := tx.Error; err != nil { logger.Errorf("Find err => %v", err) } return result } +// SelectByPageTitle 分页查询集合 +func (r PerfKPI) TitleSelectByPage(query map[string]string) ([]model.GoldKPITitle, int64) { + tx := datasource.DB("").Model(&model.GoldKPITitle{}) + // 查询条件拼接 + if v, ok := query["neType"]; ok && v != "" { + tx = tx.Where("ne_type = ?", v) + } + if v, ok := query["title"]; ok && v != "" { + tx = tx.Where("en_title like concat(concat('%', ?), '%')", v) + } + if v, ok := query["statusFlag"]; ok && v != "" { + tx = tx.Where("status_flag = ?", v) + } + + // 查询结果 + var total int64 = 0 + rows := []model.GoldKPITitle{} + + // 查询数量 长度为0直接返回 + if err := tx.Count(&total).Error; err != nil || total <= 0 { + return rows, total + } + + // 分页 + pageNum, pageSize := datasource.PageNumSize(query["pageNum"], query["pageSize"]) + tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize)) + + // 排序 + if v, ok := query["sortField"]; ok && v != "" { + sortSql := v + if o, ok := query["sortOrder"]; ok && o != "" { + if o == "desc" { + sortSql += " desc " + } else { + sortSql += " asc " + } + } + tx = tx.Order(sortSql) + } + + // 查询数据 + if err := tx.Find(&rows).Error; err != nil { + logger.Errorf("query err => %v", err) + } + + return rows, total +} + +// TitleSelect 网元对应的指标名称 +func (r PerfKPI) TitleSelect(param model.GoldKPITitle) []model.GoldKPITitle { + tx := datasource.DB("").Model(&model.GoldKPITitle{}) + // 构建查询条件 + if param.ID != "" { + tx = tx.Where("id =?", param.ID) + } + if param.NeType != "" { + tx = tx.Where("ne_type =?", param.NeType) + } + if param.KPIID != "" { + tx = tx.Where("kpi_id =?", param.KPIID) + } + if param.StatusFlag != "" { + tx = tx.Where("status_flag = ?", param.StatusFlag) + } + // 查询数据 + rows := []model.GoldKPITitle{} + if err := tx.Find(&rows).Error; err != nil { + logger.Errorf("query find err => %v", err.Error()) + return rows + } + return rows +} + +// TitleUpdate 修改信息 +func (r PerfKPI) TitleUpdate(param model.GoldKPITitle) int64 { + if param.ID == "" { + return 0 + } + tx := datasource.DB("").Model(&model.GoldKPITitle{}) + // 构建查询条件 + tx = tx.Where("id = ?", param.ID) + tx = tx.Omit("id", "kpi_id", "title_json") + // 执行更新 + if err := tx.Updates(param).Error; err != nil { + logger.Errorf("update err => %v", err.Error()) + return 0 + } + return tx.RowsAffected +} + // SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行 func (r *PerfKPI) SelectUPFTotalFlow(neType, rmUID, startDate, endDate string) map[string]any { // 查询条件拼接 diff --git a/src/modules/network_data/repository/cdr_event_ims.go b/src/modules/network_data/repository/cdr_event_ims.go index 034803b2..48a92d44 100644 --- a/src/modules/network_data/repository/cdr_event_ims.go +++ b/src/modules/network_data/repository/cdr_event_ims.go @@ -181,7 +181,7 @@ func (r *CDREventIMS) SelectPage(querys model.CDREventIMSQuery) map[string]any { sortSql += " asc " } } - orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql) + orderSql = fmt.Sprintf(" order by %s,id desc ", sortSql) } // 查询数据 diff --git a/src/modules/network_data/repository/cdr_event_smf.go b/src/modules/network_data/repository/cdr_event_smf.go index dc0c05ae..7f2b6a3c 100644 --- a/src/modules/network_data/repository/cdr_event_smf.go +++ b/src/modules/network_data/repository/cdr_event_smf.go @@ -168,7 +168,7 @@ func (r *CDREventSMF) SelectPage(querys model.CDREventSMFQuery) map[string]any { sortSql += " asc " } } - orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql) + orderSql = fmt.Sprintf(" order by %s,id desc ", sortSql) } // 查询数据 diff --git a/src/modules/network_data/repository/cdr_event_smsc.go b/src/modules/network_data/repository/cdr_event_smsc.go index 42717376..d9f8bb89 100644 --- a/src/modules/network_data/repository/cdr_event_smsc.go +++ b/src/modules/network_data/repository/cdr_event_smsc.go @@ -182,7 +182,7 @@ func (r *CDREventSMSC) SelectPage(querys model.CDREventSMSCQuery) map[string]any sortSql += " asc " } } - orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql) + orderSql = fmt.Sprintf(" order by %s,id desc ", sortSql) } // 查询数据 diff --git a/src/modules/network_data/repository/ue_event_amf.go b/src/modules/network_data/repository/ue_event_amf.go index 50ee9c23..348b6989 100644 --- a/src/modules/network_data/repository/ue_event_amf.go +++ b/src/modules/network_data/repository/ue_event_amf.go @@ -168,7 +168,7 @@ func (r *UEEventAMF) SelectPage(querys model.UEEventAMFQuery) map[string]any { sortSql += " asc " } } - orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql) + orderSql = fmt.Sprintf(" order by %s,id desc ", sortSql) } // 查询数据 diff --git a/src/modules/network_data/repository/ue_event_mme.go b/src/modules/network_data/repository/ue_event_mme.go index 219228e7..cebb940d 100644 --- a/src/modules/network_data/repository/ue_event_mme.go +++ b/src/modules/network_data/repository/ue_event_mme.go @@ -168,7 +168,7 @@ func (r *UEEventMME) SelectPage(querys model.UEEventMMEQuery) map[string]any { sortSql += " asc " } } - orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql) + orderSql = fmt.Sprintf(" order by %s,id desc ", sortSql) } // 查询数据