Files
be.ems/features/udm_user/service/service_udm_sub_user.go
2023-09-11 21:02:56 +08:00

108 lines
2.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package service
import (
"ems.agt/features/udm_user/model"
"ems.agt/features/udm_user/repo"
)
// 实例化服务层 ServiceUdmSubUser 结构体
var NewServiceUdmSubUser = &ServiceUdmSubUser{
repoSunUser: *repo.NewRepoUdmSubUser,
}
// ServiceUdmSubUser UDM签约用户 服务层处理
type ServiceUdmSubUser struct {
repoSunUser repo.RepoUdmSubUser
}
// Save UDM签约用户-获取全部保存数据库
func (r *ServiceUdmSubUser) Save(neID string) int64 {
var num int64 = 0
subArr := redisUdmSubUserList()
// 有数据才清空
if len(subArr) == 0 {
return num
}
return r.repoSunUser.ClearAndInsert(neID, subArr)
}
// Page UDM签约用户-分页查询数据库
func (r *ServiceUdmSubUser) Page(query map[string]any) map[string]any {
return r.repoSunUser.SelectPage(query)
}
// List UDM签约用户-查询数据库
func (r *ServiceUdmSubUser) List(subUser model.UdmSubUser) []model.UdmSubUser {
return r.repoSunUser.SelectList(subUser)
}
// Insert UDM签约用户-新增单个
// imsi长度15ki长度32opc长度0或者32
func (r *ServiceUdmSubUser) Insert(neID string, subUser model.UdmSubUser) int64 {
return r.repoSunUser.Insert(neID, subUser)
}
// Insert UDM签约用户-批量添加
func (r *ServiceUdmSubUser) Inserts(neID string, subUser model.UdmSubUser, num string) int64 {
return r.repoSunUser.Inserts(neID, subUser, num)
}
// Insert UDM签约用户-批量添加
func (r *ServiceUdmSubUser) InsertCSV(neID string, data []map[string]string) int64 {
var num int64
for _, v := range data {
var subUser model.UdmSubUser
subUser.NeID = neID
if s, ok := v["imsi"]; ok {
subUser.Imsi = s
}
if s, ok := v["msisdn"]; ok {
subUser.Msisdn = s
}
if s, ok := v["ambr"]; ok {
subUser.Ambr = s
}
if s, ok := v["nssai"]; ok {
subUser.Nssai = s
}
if s, ok := v["arfb"]; ok {
subUser.Arfb = s
}
if s, ok := v["sar"]; ok {
subUser.Sar = s
}
if s, ok := v["rat"]; ok {
subUser.Rat = s
}
if s, ok := v["cn"]; ok {
subUser.Cn = s
}
if s, ok := v["smf_sel"]; ok {
subUser.SmfSel = s
}
if s, ok := v["sm_data"]; ok {
subUser.SmData = s
}
if s, ok := v["eps_dat"]; ok {
subUser.EpsDat = s
}
r.repoSunUser.Insert(neID, subUser)
}
return num
}
// Insert UDM签约用户-修改更新
func (r *ServiceUdmSubUser) Update(neID string, subUser model.UdmSubUser) int64 {
return r.repoSunUser.Update(neID, subUser)
}
// Insert UDM签约用户-删除单个
func (r *ServiceUdmSubUser) Delete(neID, imsi string) int64 {
return r.repoSunUser.Delete(neID, imsi)
}
// Insert UDM签约用户-删除范围
func (r *ServiceUdmSubUser) Deletes(neID, imsi, num string) int64 {
return r.repoSunUser.Deletes(neID, imsi, num)
}