From 1415e2d18588febc07029d23b76632892fb7f816 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 9 Nov 2023 12:05:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UDM=E7=AD=BE=E7=BA=A6=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=92=E5=BA=8Fasc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/udm_user/api_udm_user.go | 63 ++++++++++--------- features/udm_user/repo/repo_udm_auth_user.go | 2 +- features/udm_user/repo/repo_udm_sub_user.go | 2 +- src/framework/config/config/config.local.yaml | 1 + 4 files changed, 36 insertions(+), 32 deletions(-) diff --git a/features/udm_user/api_udm_user.go b/features/udm_user/api_udm_user.go index 55f79342..43c3a481 100644 --- a/features/udm_user/api_udm_user.go +++ b/features/udm_user/api_udm_user.go @@ -661,40 +661,43 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) { return } - // 查询数据库是否存在并存入 + // 解析返回的数据 + cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64) + rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64) + userInfo := model.UdmSubUser{ + Imsi: imsi, + Msisdn: data["MSISDN"], + Ambr: data["AMBR"], + Arfb: data["AreaForbidden"], + Cn: fmt.Sprint(cnType), + SmData: data["SM-Data(snssai+dnn[1..n])"], + Sar: data["ServiceAreaRestriction"], + Nssai: data["NSSAI"], + SmfSel: data["Smf-Selection"], + Rat: fmt.Sprint(rat), + } + // 1,64,24,65,def_eps,1,2,010200000000,- + if v, ok := data["EPS-Data"]; ok { + userInfo.EpsDat = v + arr := strings.Split(v, ",") + userInfo.EpsFlag = arr[0] + userInfo.EpsOdb = arr[1] + userInfo.HplmnOdb = arr[2] + userInfo.Ard = arr[3] + userInfo.Epstpl = arr[4] + userInfo.ContextId = arr[5] + userInfo.ApnContext = arr[7] + userInfo.StaticIp = arr[8] + } + + // 查询数据库是否存在并存入更新 neId = "" - var userInfo model.UdmSubUser list := s.subUser.List(model.UdmSubUser{NeID: neId, Imsi: imsi}) if len(list) > 0 { - userInfo = list[0] + listItme := list[0] + userInfo.ID = listItme.ID + s.subUser.Update(neId, userInfo) } else { - cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64) - rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64) - userInfo := model.UdmSubUser{ - Imsi: imsi, - Msisdn: data["MSISDN"], - Ambr: data["AMBR"], - Arfb: data["AreaForbidden"], - Cn: fmt.Sprint(cnType), - SmData: data["SM-Data(snssai+dnn[1..n])"], - Sar: data["ServiceAreaRestriction"], - Nssai: data["NSSAI"], - SmfSel: data["Smf-Selection"], - Rat: fmt.Sprint(rat), - } - // 1,64,24,65,def_eps,1,2,010200000000,- - if v, ok := data["EPS-Data"]; ok { - userInfo.EpsDat = v - arr := strings.Split(v, ",") - userInfo.EpsFlag = arr[0] - userInfo.EpsOdb = arr[1] - userInfo.HplmnOdb = arr[2] - userInfo.Ard = arr[3] - userInfo.Epstpl = arr[4] - userInfo.ContextId = arr[5] - userInfo.ApnContext = arr[7] - userInfo.StaticIp = arr[8] - } s.subUser.Insert(neId, userInfo) } ctx.JSON(w, 200, result.OkData(userInfo)) diff --git a/features/udm_user/repo/repo_udm_auth_user.go b/features/udm_user/repo/repo_udm_auth_user.go index 8ad73ee1..daaeaa4a 100644 --- a/features/udm_user/repo/repo_udm_auth_user.go +++ b/features/udm_user/repo/repo_udm_auth_user.go @@ -144,7 +144,7 @@ func (r *RepoUdmAuthUser) SelectList(auth model.UdmAuthUser) []model.UdmAuthUser } // 查询数据 - querySql := r.selectSql + whereSql + querySql := r.selectSql + whereSql + " order by imsi asc " results, err := datasource.RawDB("", querySql, params) if err != nil { log.Errorf("query err => %v", err) diff --git a/features/udm_user/repo/repo_udm_sub_user.go b/features/udm_user/repo/repo_udm_sub_user.go index 295d96a9..4530f377 100644 --- a/features/udm_user/repo/repo_udm_sub_user.go +++ b/features/udm_user/repo/repo_udm_sub_user.go @@ -166,7 +166,7 @@ func (r *RepoUdmSubUser) SelectList(auth model.UdmSubUser) []model.UdmSubUser { } // 查询数据 - querySql := r.selectSql + whereSql + querySql := r.selectSql + whereSql + " order by imsi asc " results, err := datasource.RawDB("", querySql, params) if err != nil { log.Errorf("query err => %v", err) diff --git a/src/framework/config/config/config.local.yaml b/src/framework/config/config/config.local.yaml index a0b210ed..e5af4178 100644 --- a/src/framework/config/config/config.local.yaml +++ b/src/framework/config/config/config.local.yaml @@ -1,6 +1,7 @@ # 应用服务配置 server: port: 3040 + proxy: true # 日志 logger: