This commit is contained in:
2023-11-01 16:59:38 +08:00
8 changed files with 70 additions and 44 deletions

View File

@@ -254,18 +254,26 @@ func (s *UdmUserApi) UdmAuthUserInfo(w http.ResponseWriter, r *http.Request) {
ctx.JSON(w, 200, result.ErrMsg(err.Error()))
return
}
// 返回查询的用户信息
userInfo := model.UdmAuthUser{
Imsi: imsi,
Amf: data["amf"],
AlgoIndex: data["algo"],
Opc: data["opc"],
Ki: data["ki"],
}
// 查询数据库是否存在并存入
neId = ""
var userInfo model.UdmAuthUser
list := s.authUser.List(model.UdmAuthUser{NeID: neId, Imsi: imsi})
if len(list) == 0 {
if len(list) > 0 {
userInfo = list[0]
// 返回查询的用户信息
userInfo.Amf = data["amf"]
userInfo.AlgoIndex = data["algo"]
userInfo.Opc = data["opc"]
userInfo.Ki = data["ki"]
} else {
userInfo := model.UdmAuthUser{
Imsi: imsi,
Amf: data["amf"],
AlgoIndex: data["algo"],
Opc: data["opc"],
Ki: data["ki"],
}
s.authUser.Insert(neId, userInfo)
}
ctx.JSON(w, 200, result.OkData(userInfo))
@@ -653,39 +661,40 @@ 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 {
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{
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))

View File

@@ -177,6 +177,7 @@ func (r *RepoUdmAuthUser) ClearAndInsert(neID string, authArr []model.UdmAuthUse
// 调用 InsertMulti 函数将批量数据插入数据库
results, err := datasource.DefaultDB().Table("u_auth_user").InsertMulti(batch)
if err != nil {
log.Errorf("InsertMulti err => %v", err)
continue
}
num += results

View File

@@ -196,6 +196,7 @@ func (r *RepoUdmSubUser) ClearAndInsert(neID string, subArr []model.UdmSubUser)
// 调用 InsertMulti 函数将批量数据插入数据库
results, err := datasource.DefaultDB().Table("u_sub_user").InsertMulti(batch)
if err != nil {
log.Errorf("InsertMulti err => %v", err)
continue
}
num += results