package service import ( "ems.agt/features/udm_user/model" "ems.agt/features/udm_user/repo" ) // 实例化服务层 ServiceUdmAuthUser 结构体 var NewServiceUdmAuthUser = &ServiceUdmAuthUser{ repoAuthUser: *repo.NewRepoUdmAuthUser, } // ServiceUdmAuthUser UDM鉴权用户 服务层处理 type ServiceUdmAuthUser struct { repoAuthUser repo.RepoUdmAuthUser } // Save UDM鉴权用户-获取全部保存数据库 func (r *ServiceUdmAuthUser) Save(neID string) int64 { var num int64 = 0 authArr := redisUdmAuthUserList() // 有数据才清空 if len(authArr) == 0 { return num } go r.repoAuthUser.ClearAndInsert(neID, authArr) return int64(len(authArr)) } // Page UDM签约用户-分页查询数据库 func (r *ServiceUdmAuthUser) Page(query map[string]any) map[string]any { return r.repoAuthUser.SelectPage(query) } // List UDM签约用户-查询数据库 func (r *ServiceUdmAuthUser) List(authUser model.UdmAuthUser) []model.UdmAuthUser { return r.repoAuthUser.SelectList(authUser) } // Insert UDM鉴权用户-新增单个 // imsi长度15,ki长度32,opc长度0或者32 func (r *ServiceUdmAuthUser) Insert(neID string, authUser model.UdmAuthUser) int64 { return r.repoAuthUser.Insert(neID, authUser) } // Insert UDM鉴权用户-批量添加 func (r *ServiceUdmAuthUser) Inserts(neID string, authUser model.UdmAuthUser, num string) int64 { return r.repoAuthUser.Inserts(neID, authUser, num) } // InsertCSV UDM鉴权用户-批量添加 func (r *ServiceUdmAuthUser) InsertCSV(neID string, data []map[string]string) int64 { var num int64 for _, v := range data { var authUser model.UdmAuthUser authUser.NeID = neID authUser.Status = "1" if s, ok := v["imsi"]; ok { authUser.Imsi = s } if s, ok := v["ki"]; ok { authUser.Ki = s } if s, ok := v["amf"]; ok { authUser.Amf = s } if s, ok := v["algo"]; ok { authUser.AlgoIndex = s } if s, ok := v["opc"]; ok { authUser.Opc = s } num += r.repoAuthUser.Insert(neID, authUser) } return num } // InsertTxt UDM鉴权用户-批量添加 func (r *ServiceUdmAuthUser) InsertTxt(neID string, data [][]string) int64 { var num int64 for _, v := range data { if len(v) < 4 { continue } var authUser model.UdmAuthUser authUser.NeID = neID authUser.Status = "1" authUser.Imsi = v[0] authUser.Ki = v[1] authUser.AlgoIndex = v[2] authUser.Amf = v[3] if len(v) == 5 { authUser.Opc = v[4] } num += r.repoAuthUser.Insert(neID, authUser) } return num } // Insert UDM鉴权用户-修改更新 func (r *ServiceUdmAuthUser) Update(neID string, authUser model.UdmAuthUser) int64 { return r.repoAuthUser.Update(neID, authUser) } // Insert UDM鉴权用户-删除单个 func (r *ServiceUdmAuthUser) Delete(neID, imsi string) int64 { return r.repoAuthUser.Delete(neID, imsi) } // Insert UDM鉴权用户-删除范围 func (r *ServiceUdmAuthUser) Deletes(neID, imsi, num string) int64 { return r.repoAuthUser.Deletes(neID, imsi, num) }