From 01f4c718b818380c89bda4bc508758fc969d60f3 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Sat, 15 Jun 2024 16:37:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UE=E4=BA=8B=E4=BB=B6AMF=E8=A1=A8?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/network_data/controller/amf.go | 12 +++--- .../model/{ue_event.go => ue_event_amf.go} | 10 ++--- .../{ue_event.go => ue_event_amf.go} | 8 ++-- ...{ue_event.impl.go => ue_event_amf.impl.go} | 38 +++++++++---------- .../service/{ue_event.go => ue_event_amf.go} | 4 +- ...{ue_event.impl.go => ue_event_amf.impl.go} | 16 ++++---- 6 files changed, 44 insertions(+), 44 deletions(-) rename src/modules/network_data/model/{ue_event.go => ue_event_amf.go} (87%) rename src/modules/network_data/repository/{ue_event.go => ue_event_amf.go} (55%) rename src/modules/network_data/repository/{ue_event.impl.go => ue_event_amf.impl.go} (83%) rename src/modules/network_data/service/{ue_event.go => ue_event_amf.go} (71%) rename src/modules/network_data/service/{ue_event.impl.go => ue_event_amf.impl.go} (58%) diff --git a/src/modules/network_data/controller/amf.go b/src/modules/network_data/controller/amf.go index d1cbf007..fbc7142f 100644 --- a/src/modules/network_data/controller/amf.go +++ b/src/modules/network_data/controller/amf.go @@ -24,7 +24,7 @@ import ( // 实例化控制层 AMFController 结构体 var NewAMFController = &AMFController{ neInfoService: neService.NewNeInfoImpl, - ueEventService: neDataService.NewUEEventImpl, + ueEventService: neDataService.NewUEEventAMFImpl, } // 网元AMF @@ -33,8 +33,8 @@ var NewAMFController = &AMFController{ type AMFController struct { // 网元信息服务 neInfoService neService.INeInfo - // CDR会话事件服务 - ueEventService neDataService.IUEEvent + // UE会话事件服务 + ueEventService neDataService.IUEEventAMF } // UE会话列表 @@ -42,7 +42,7 @@ type AMFController struct { // GET /ue/list func (s *AMFController) UEList(c *gin.Context) { language := ctx.AcceptLanguage(c) - var querys model.UEEventQuery + var querys model.UEEventAMFQuery if err := c.ShouldBindQuery(&querys); err != nil { c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400"))) return @@ -93,7 +93,7 @@ func (s *AMFController) UERemove(c *gin.Context) { func (s *AMFController) UEExport(c *gin.Context) { language := ctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 - var querys model.UEEventQuery + var querys model.UEEventAMFQuery if err := c.ShouldBindBodyWith(&querys, binding.JSON); err != nil { c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400"))) return @@ -108,7 +108,7 @@ func (s *AMFController) UEExport(c *gin.Context) { c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty"))) return } - rows := data["rows"].([]model.UEEvent) + rows := data["rows"].([]model.UEEventAMF) // 导出文件名称 fileName := fmt.Sprintf("amf_ue_event_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli()) diff --git a/src/modules/network_data/model/ue_event.go b/src/modules/network_data/model/ue_event_amf.go similarity index 87% rename from src/modules/network_data/model/ue_event.go rename to src/modules/network_data/model/ue_event_amf.go index 7c0f09f5..905f458c 100644 --- a/src/modules/network_data/model/ue_event.go +++ b/src/modules/network_data/model/ue_event_amf.go @@ -2,20 +2,20 @@ package model import "time" -// UEEvent UE会话对象 ue_event -type UEEvent struct { +// UEEventAMF UE会话对象 ue_event_amf +type UEEventAMF struct { ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"` NeType string `json:"neType" gorm:"column:ne_type"` NeName string `json:"neName" gorm:"column:ne_name"` RmUID string `json:"rmUID" gorm:"column:rm_uid"` // 可能没有 Timestamp int64 `json:"timestamp" gorm:"column:timestamp"` - EventType string `json:"eventType" gorm:"column:event_type"` + EventType string `json:"eventType" gorm:"column:event_type"` // 事件类型 auth-result detach cm-state EventJSONStr string `json:"eventJSON" gorm:"column:event_json"` CreatedAt time.Time `json:"createdAt" gorm:"column:created_at;default:CURRENT_TIMESTAMP"` } -// UEEventQuery UE会话对象查询参数结构体 -type UEEventQuery struct { +// UEEventAMFQuery UE会话对象查询参数结构体 +type UEEventAMFQuery struct { NeType string `json:"neType" form:"neType" binding:"required"` // 网元类型, 暂时支持AMF NeID string `json:"neId" form:"neId" binding:"required"` RmUID string `json:"rmUID" form:"rmUID"` diff --git a/src/modules/network_data/repository/ue_event.go b/src/modules/network_data/repository/ue_event_amf.go similarity index 55% rename from src/modules/network_data/repository/ue_event.go rename to src/modules/network_data/repository/ue_event_amf.go index 58b90462..4e053a01 100644 --- a/src/modules/network_data/repository/ue_event.go +++ b/src/modules/network_data/repository/ue_event_amf.go @@ -2,13 +2,13 @@ package repository import "be.ems/src/modules/network_data/model" -// UE会话事件 数据层接口 -type IUEEvent interface { +// UE会话事件AMF 数据层接口 +type IUEEventAMF interface { // SelectPage 根据条件分页查询 - SelectPage(querys model.UEEventQuery) map[string]any + SelectPage(querys model.UEEventAMFQuery) map[string]any // SelectByIds 通过ID查询 - SelectByIds(ueIds []string) []model.UEEvent + SelectByIds(ueIds []string) []model.UEEventAMF // DeleteByIds 批量删除信息 DeleteByIds(ueIds []string) int64 diff --git a/src/modules/network_data/repository/ue_event.impl.go b/src/modules/network_data/repository/ue_event_amf.impl.go similarity index 83% rename from src/modules/network_data/repository/ue_event.impl.go rename to src/modules/network_data/repository/ue_event_amf.impl.go index 4ecf23c3..b442207c 100644 --- a/src/modules/network_data/repository/ue_event.impl.go +++ b/src/modules/network_data/repository/ue_event_amf.impl.go @@ -11,9 +11,9 @@ import ( "be.ems/src/modules/network_data/model" ) -// 实例化数据层 UEEventImpl 结构体 -var NewUEEventImpl = &UEEventImpl{ - selectSql: `select id, ne_type, ne_name, rm_uid, timestamp, event_type, event_json, created_at from ue_event`, +// 实例化数据层 UEEventAMFImpl 结构体 +var NewUEEventAMFImpl = &UEEventAMFImpl{ + selectSql: `select id, ne_type, ne_name, rm_uid, timestamp, event_type, event_json, created_at from ue_event_amf`, resultMap: map[string]string{ "id": "ID", @@ -27,8 +27,8 @@ var NewUEEventImpl = &UEEventImpl{ }, } -// UEEventImpl UE会话事件 数据层处理 -type UEEventImpl struct { +// UEEventAMFImpl UE会话事件 数据层处理 +type UEEventAMFImpl struct { // 查询视图对象SQL selectSql string // 结果字段与实体映射 @@ -36,10 +36,10 @@ type UEEventImpl struct { } // convertResultRows 将结果记录转实体结果组 -func (r *UEEventImpl) convertResultRows(rows []map[string]any) []model.UEEvent { - arr := make([]model.UEEvent, 0) +func (r *UEEventAMFImpl) convertResultRows(rows []map[string]any) []model.UEEventAMF { + arr := make([]model.UEEventAMF, 0) for _, row := range rows { - item := model.UEEvent{} + item := model.UEEventAMF{} for key, value := range row { if keyMapper, ok := r.resultMap[key]; ok { repo.SetFieldValue(&item, keyMapper, value) @@ -51,7 +51,7 @@ func (r *UEEventImpl) convertResultRows(rows []map[string]any) []model.UEEvent { } // SelectPage 根据条件分页查询 -func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { +func (r *UEEventAMFImpl) SelectPage(querys model.UEEventAMFQuery) map[string]any { // 查询条件拼接 var conditions []string var params []any @@ -77,10 +77,6 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { } params = append(params, querys.EndTime) } - if querys.IMSI != "" { - conditions = append(conditions, "JSON_EXTRACT(event_json, '$.imsi') = ?") - params = append(params, querys.IMSI) - } if querys.EventType != "" { eventTypes := strings.Split(querys.EventType, ",") placeholder := repo.KeyPlaceholderByQuery(len(eventTypes)) @@ -89,6 +85,10 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { params = append(params, eventType) } } + if querys.IMSI != "" { + conditions = append(conditions, "JSON_EXTRACT(event_json, '$.imsi') = ?") + params = append(params, querys.IMSI) + } // 构建查询条件语句 whereSql := "" @@ -98,11 +98,11 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { result := map[string]any{ "total": 0, - "rows": []model.UEEvent{}, + "rows": []model.UEEventAMF{}, } // 查询数量 长度为0直接返回 - totalSql := "select count(1) as 'total' from ue_event" + totalSql := "select count(1) as 'total' from ue_event_amf" totalRows, err := datasource.RawDB("", totalSql+whereSql, params) if err != nil { logger.Errorf("total err => %v", err) @@ -148,23 +148,23 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { } // SelectByIds 通过ID查询 -func (r *UEEventImpl) SelectByIds(ueIds []string) []model.UEEvent { +func (r *UEEventAMFImpl) SelectByIds(ueIds []string) []model.UEEventAMF { placeholder := repo.KeyPlaceholderByQuery(len(ueIds)) querySql := r.selectSql + " where id in (" + placeholder + ")" parameters := repo.ConvertIdsSlice(ueIds) results, err := datasource.RawDB("", querySql, parameters) if err != nil { logger.Errorf("query err => %v", err) - return []model.UEEvent{} + return []model.UEEventAMF{} } // 转换实体 return r.convertResultRows(results) } // DeleteByIds 批量删除信息 -func (r *UEEventImpl) DeleteByIds(ueIds []string) int64 { +func (r *UEEventAMFImpl) DeleteByIds(ueIds []string) int64 { placeholder := repo.KeyPlaceholderByQuery(len(ueIds)) - sql := "delete from ue_event where id in (" + placeholder + ")" + sql := "delete from ue_event_amf where id in (" + placeholder + ")" parameters := repo.ConvertIdsSlice(ueIds) results, err := datasource.ExecDB("", sql, parameters) if err != nil { diff --git a/src/modules/network_data/service/ue_event.go b/src/modules/network_data/service/ue_event_amf.go similarity index 71% rename from src/modules/network_data/service/ue_event.go rename to src/modules/network_data/service/ue_event_amf.go index 367bb240..148d4013 100644 --- a/src/modules/network_data/service/ue_event.go +++ b/src/modules/network_data/service/ue_event_amf.go @@ -3,9 +3,9 @@ package service import "be.ems/src/modules/network_data/model" // UE会话事件 服务层接口 -type IUEEvent interface { +type IUEEventAMF interface { // SelectPage 根据条件分页查询 - SelectPage(querys model.UEEventQuery) map[string]any + SelectPage(querys model.UEEventAMFQuery) map[string]any // DeleteByIds 批量删除信息 DeleteByIds(ueIds []string) (int64, error) diff --git a/src/modules/network_data/service/ue_event.impl.go b/src/modules/network_data/service/ue_event_amf.impl.go similarity index 58% rename from src/modules/network_data/service/ue_event.impl.go rename to src/modules/network_data/service/ue_event_amf.impl.go index 16f7e079..29706cd7 100644 --- a/src/modules/network_data/service/ue_event.impl.go +++ b/src/modules/network_data/service/ue_event_amf.impl.go @@ -7,24 +7,24 @@ import ( "be.ems/src/modules/network_data/repository" ) -// 实例化数据层 UEEventImpl 结构体 -var NewUEEventImpl = &UEEventImpl{ - ueEventRepository: repository.NewUEEventImpl, +// 实例化数据层 UEEventAMFImpl 结构体 +var NewUEEventAMFImpl = &UEEventAMFImpl{ + ueEventRepository: repository.NewUEEventAMFImpl, } -// UEEventImpl UE会话事件 服务层处理 -type UEEventImpl struct { +// UEEventAMFImpl UE会话事件 服务层处理 +type UEEventAMFImpl struct { // UE会话事件数据信息 - ueEventRepository repository.IUEEvent + ueEventRepository repository.IUEEventAMF } // SelectPage 根据条件分页查询 -func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any { +func (r *UEEventAMFImpl) SelectPage(querys model.UEEventAMFQuery) map[string]any { return r.ueEventRepository.SelectPage(querys) } // DeleteByIds 批量删除信息 -func (r *UEEventImpl) DeleteByIds(ueIds []string) (int64, error) { +func (r *UEEventAMFImpl) DeleteByIds(ueIds []string) (int64, error) { // 检查是否存在 ids := r.ueEventRepository.SelectByIds(ueIds) if len(ids) <= 0 {