pref: 优化批量导入数据库
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"ems.agt/features/udm_user/model"
|
||||
"ems.agt/features/udm_user/repo"
|
||||
)
|
||||
@@ -40,17 +43,43 @@ func (r *ServiceUdmAuthUser) List(authUser model.UdmAuthUser) []model.UdmAuthUse
|
||||
// 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)
|
||||
authUser.NeID = neID
|
||||
authUser.Status = "1"
|
||||
return r.repoAuthUser.Insert(authUser)
|
||||
}
|
||||
|
||||
// Insert UDM鉴权用户-批量添加
|
||||
func (r *ServiceUdmAuthUser) Inserts(neID string, authUser model.UdmAuthUser, num string) int64 {
|
||||
return r.repoAuthUser.Inserts(neID, authUser, num)
|
||||
var arr []model.UdmAuthUser
|
||||
|
||||
imsiVlen := len(authUser.Imsi)
|
||||
imsiV, err := strconv.Atoi(authUser.Imsi)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
numV, err := strconv.Atoi(num)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
authUser.NeID = neID
|
||||
authUser.Status = "1"
|
||||
for i := 0; i < numV; i++ {
|
||||
imsi := fmt.Sprint(imsiV + i)
|
||||
if len(imsi) < imsiVlen {
|
||||
imsi = fmt.Sprintf("%0*s", imsiVlen, imsi)
|
||||
}
|
||||
authUser.Imsi = imsi
|
||||
arr = append(arr, authUser)
|
||||
}
|
||||
|
||||
return r.repoAuthUser.Inserts(arr)
|
||||
}
|
||||
|
||||
// InsertCSV UDM鉴权用户-批量添加
|
||||
func (r *ServiceUdmAuthUser) InsertCSV(neID string, data []map[string]string) int64 {
|
||||
var num int64
|
||||
var arr []model.UdmAuthUser
|
||||
for _, v := range data {
|
||||
var authUser model.UdmAuthUser
|
||||
authUser.NeID = neID
|
||||
@@ -70,14 +99,14 @@ func (r *ServiceUdmAuthUser) InsertCSV(neID string, data []map[string]string) in
|
||||
if s, ok := v["opc"]; ok {
|
||||
authUser.Opc = s
|
||||
}
|
||||
num += r.repoAuthUser.Insert(neID, authUser)
|
||||
arr = append(arr, authUser)
|
||||
}
|
||||
return num
|
||||
return r.repoAuthUser.Inserts(arr)
|
||||
}
|
||||
|
||||
// InsertTxt UDM鉴权用户-批量添加
|
||||
func (r *ServiceUdmAuthUser) InsertTxt(neID string, data [][]string) int64 {
|
||||
var num int64
|
||||
var arr []model.UdmAuthUser
|
||||
for _, v := range data {
|
||||
if len(v) < 4 {
|
||||
continue
|
||||
@@ -92,9 +121,10 @@ func (r *ServiceUdmAuthUser) InsertTxt(neID string, data [][]string) int64 {
|
||||
if len(v) == 5 {
|
||||
authUser.Opc = v[4]
|
||||
}
|
||||
num += r.repoAuthUser.Insert(neID, authUser)
|
||||
arr = append(arr, authUser)
|
||||
}
|
||||
return num
|
||||
|
||||
return r.repoAuthUser.Inserts(arr)
|
||||
}
|
||||
|
||||
// Insert UDM鉴权用户-修改更新
|
||||
|
||||
Reference in New Issue
Block a user