fix: udm用户信息直接返回后存入数据库

This commit is contained in:
TsMask
2023-11-01 10:39:47 +08:00
parent 928448b548
commit 73f3d550a7

View File

@@ -254,20 +254,18 @@ func (s *UdmUserApi) UdmAuthUserInfo(w http.ResponseWriter, r *http.Request) {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
neId = ""
var userInfo model.UdmAuthUser
list := s.authUser.List(model.UdmAuthUser{NeID: neId, Imsi: imsi})
if len(list) > 0 {
userInfo = list[0]
} else {
userInfo = model.UdmAuthUser{
// 返回查询的用户信息
userInfo := model.UdmAuthUser{
Imsi: imsi,
Amf: data["amf"],
AlgoIndex: data["algo"],
Opc: data["opc"],
Ki: data["ki"],
}
// 查询数据库是否存在并存入
neId = ""
list := s.authUser.List(model.UdmAuthUser{NeID: neId, Imsi: imsi})
if len(list) == 0 {
s.authUser.Insert(neId, userInfo)
}
ctx.JSON(w, 200, result.OkData(userInfo))
@@ -655,15 +653,10 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) {
return
}
neId = ""
var userInfo model.UdmSubUser
list := s.subUser.List(model.UdmSubUser{NeID: neId, Imsi: imsi})
if len(list) > 0 {
userInfo = list[0]
} else {
// 返回查询的用户信息
cnType, _ := strconv.ParseInt(data["CNType"][:4], 0, 64)
rat, _ := strconv.ParseInt(data["RAT"][:4], 0, 64)
userInfo = model.UdmSubUser{
userInfo := model.UdmSubUser{
Imsi: imsi,
Msisdn: data["MSISDN"],
Ambr: data["AMBR"],
@@ -689,6 +682,10 @@ func (s *UdmUserApi) UdmSubUserInfo(w http.ResponseWriter, r *http.Request) {
userInfo.StaticIp = arr[8]
}
// 查询数据库是否存在并存入
neId = ""
list := s.subUser.List(model.UdmSubUser{NeID: neId, Imsi: imsi})
if len(list) == 0 {
s.subUser.Insert(neId, userInfo)
}
ctx.JSON(w, 200, result.OkData(userInfo))