perf: 更新UDM签约数据表,同步数据支持MICO和RAT操作修改

This commit is contained in:
TsMask
2024-10-12 15:26:55 +08:00
parent b5e7317ee7
commit 5dd0ea9143
9 changed files with 311 additions and 230 deletions

View File

@@ -69,21 +69,16 @@ func (r *UDMAuthUser) ResetData(neId string) int64 {
// ParseInfo 解析单个用户imsi鉴权信息 data从命令MML得到的结果
func (r *UDMAuthUser) ParseInfo(imsi, neId string, data map[string]string) model.UDMAuthUser {
u := model.UDMAuthUser{
IMSI: imsi,
NeId: neId,
Amf: data["amf"],
Status: "1",
Ki: data["ki"],
AlgoIndex: data["algo"],
Opc: data["opc"],
}
u := r.udmAuthRepository.SelectByIMSIAndNeID(imsi, neId)
// 补充用户ID用于更新
auth := r.udmAuthRepository.SelectByIMSIAndNeID(imsi, neId)
if auth.IMSI == imsi {
u.ID = auth.ID
}
// 用于更新
u.IMSI = imsi
u.NeId = neId
u.Amf = data["amf"]
u.Ki = data["ki"]
u.AlgoIndex = data["algo"]
u.Opc = data["opc"]
u.Status = "1"
return u
}
@@ -170,3 +165,22 @@ func (r *UDMAuthUser) LoadData(neId, imsi, num string) {
r.udmAuthRepository.Inserts(arr)
}
}
// ParseCommandParams 解析数据组成命令参数 ki=xx,xx=xx,...
func (r *UDMAuthUser) ParseCommandParams(item model.UDMAuthUser) string {
var conditions []string
if item.Ki != "" {
conditions = append(conditions, fmt.Sprintf("ki=%s", item.Ki))
}
if item.Amf != "" {
conditions = append(conditions, fmt.Sprintf("amf=%s", item.Amf))
}
if item.AlgoIndex != "" {
conditions = append(conditions, fmt.Sprintf("algo=%s", item.AlgoIndex))
}
if item.Opc != "" {
conditions = append(conditions, fmt.Sprintf("opc=%s", item.Opc))
}
return strings.Join(conditions, ",")
}