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 {