From 5869056b0ddbf48ed8641d99b55b0dca8a2d3fa6 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 9 Nov 2023 18:28:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UDM=E7=AD=BE=E7=BA=A6=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=AD=97=E7=AC=A6=E5=88=86=E5=89=B2=E6=88=AA?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/udm_user/api_udm_user.go | 7 ++++++- features/udm_user/service/service_redis_data.go | 2 +- lib/core/mml_client/send.go | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/features/udm_user/api_udm_user.go b/features/udm_user/api_udm_user.go index 492fa555..7a6fae7f 100644 --- a/features/udm_user/api_udm_user.go +++ b/features/udm_user/api_udm_user.go @@ -664,9 +664,14 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) { // 解析返回的数据 cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64) rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64) + msisdn := data["MSISDN"] + imsMsisdnLen := strings.Index(msisdn, ",") + if imsMsisdnLen != -1 { + msisdn = msisdn[:imsMsisdnLen] + } userInfo := model.UdmSubUser{ Imsi: imsi, - Msisdn: data["MSISDN"], + Msisdn: msisdn, Ambr: data["AMBR"], Arfb: data["AreaForbidden"], Cn: fmt.Sprint(cnType), diff --git a/features/udm_user/service/service_redis_data.go b/features/udm_user/service/service_redis_data.go index 36b87a9e..9d1a84bf 100644 --- a/features/udm_user/service/service_redis_data.go +++ b/features/udm_user/service/service_redis_data.go @@ -79,7 +79,7 @@ func redisUdmSubUserList() []model.UdmSubUser { a := model.UdmSubUser{ Imsi: key[7:], - Msisdn: strings.TrimPrefix(m["gpsi"], "86"), + Msisdn: m["gpsi"], // 46003550072 strings.TrimPrefix(m["gpsi"], "86"), SmfSel: m["smf-sel"], SmData: m["sm-dat"], // 1-000001&cmnet&ims&3gnet } diff --git a/lib/core/mml_client/send.go b/lib/core/mml_client/send.go index 50619898..943772c4 100644 --- a/lib/core/mml_client/send.go +++ b/lib/core/mml_client/send.go @@ -90,10 +90,10 @@ func MMLSendMsgToMap(ip, msg string) (map[string]string, error) { if strings.Contains(item, "=") { // 按照分隔符"="进行拆分键值对 - pair = strings.Split(item, "=") + pair = strings.SplitN(item, "=", 2) } else if strings.Contains(item, ":") { // 按照分隔符":"进行拆分键值对 - pair = strings.Split(item, ":") + pair = strings.SplitN(item, ":", 2) } if len(pair) == 2 {