feat: UDM数据批量导入拼减少防止溢出限制
This commit is contained in:
@@ -16,7 +16,7 @@ import (
|
||||
// 实例化数据层 IMSUserRepository 结构体
|
||||
var NewIMSUserRepository = &IMSUserRepository{
|
||||
selectSql: `select
|
||||
s.id, s.ne_id, s.imsi, s.msisdn, s.tag, s.vni,
|
||||
s.id, s.ne_id, s.imsi, s.msisdn, s.tag, s.vni, s.create_time, s.created_at,
|
||||
t.tenant_id, t.tenant_name
|
||||
from u_ims_user s
|
||||
left join sys_tenant t on t.tenant_id = s.tenant_id and t.status = 1`,
|
||||
@@ -29,6 +29,8 @@ var NewIMSUserRepository = &IMSUserRepository{
|
||||
"tag": "Tag",
|
||||
"vni": "VNI",
|
||||
|
||||
"create_time": "CreateTime",
|
||||
"created_at": "CreatedAt",
|
||||
"tenant_id": "TenantID",
|
||||
"tenant_name": "TenantName", // Tenant name for multi-tenancy
|
||||
},
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
// 实例化数据层 VoIPAuthRepository 结构体
|
||||
var NewVoIPAuthRepository = &VoIPAuthRepository{
|
||||
selectSql: `select
|
||||
s.id, s.ne_id, s.user_name, s.password,
|
||||
s.id, s.ne_id, s.user_name, s.password, s.create_time, s.created_at,
|
||||
t.tenant_id, t.tenant_name
|
||||
from u_voip_auth s
|
||||
left join sys_tenant t on t.tenant_id = s.tenant_id and t.status = 1`,
|
||||
@@ -27,6 +27,8 @@ var NewVoIPAuthRepository = &VoIPAuthRepository{
|
||||
"user_name": "UserName",
|
||||
"password": "Password",
|
||||
|
||||
"create_time": "CreateTime",
|
||||
"created_at": "CreatedAt",
|
||||
"tenant_id": "TenantID",
|
||||
"tenant_name": "TenantName", // Tenant name for multi-tenancy
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
|
||||
// 实例化数据层 UDMAuthUser 结构体
|
||||
var NewUDMAuthUser = &UDMAuthUser{
|
||||
selectSql: `select id, imsi, ne_id, amf, status, ki, algo_index, opc, create_time from u_auth_user`,
|
||||
selectSql: `select id, imsi, ne_id, amf, status, ki, algo_index, opc, create_time, created_at from u_auth_user`,
|
||||
|
||||
resultMap: map[string]string{
|
||||
"id": "ID",
|
||||
@@ -25,6 +25,7 @@ var NewUDMAuthUser = &UDMAuthUser{
|
||||
"algo_index": "AlgoIndex",
|
||||
"opc": "Opc",
|
||||
"create_time": "CreateTime",
|
||||
"created_at": "CreatedAt",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -189,7 +190,7 @@ func (r *UDMAuthUser) SelectByIMSIAndNeID(imsi, neId string) model.UDMAuthUser {
|
||||
|
||||
// Insert 批量添加
|
||||
func (r *UDMAuthUser) Inserts(uArr []model.UDMAuthUser) int64 {
|
||||
tx := datasource.DefaultDB().CreateInBatches(uArr, 3000)
|
||||
tx := datasource.DefaultDB().CreateInBatches(uArr, 2000)
|
||||
if err := tx.Error; err != nil {
|
||||
logger.Errorf("CreateInBatches err => %v", err)
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ var NewUDMSub = &UDMSubUser{
|
||||
s.id, s.imsi, s.msisdn, s.ne_id,
|
||||
s.am_dat, s.ambr, s.nssai, s.rat, s.arfb, s.sar, s.cn_type, s.rfsp_index, s.reg_timer, s.ue_usage_type, s.active_time, s.mico, s.odb_ps, s.group_id,
|
||||
s.eps_dat, s.eps_flag, s.eps_odb, s.hplmn_odb, s.ard, s.epstpl, s.context_id, s.apn_mum, s.apn_context, s.static_ip,
|
||||
s.sm_data, s.smf_sel, s.cag,
|
||||
s.sm_data, s.smf_sel, s.cag, s.create_time, s.created_at,
|
||||
t.tenant_id, t.tenant_name
|
||||
from u_sub_user s
|
||||
left join sys_tenant t on t.tenant_id = s.tenant_id and t.status = 1`,
|
||||
@@ -60,6 +60,8 @@ var NewUDMSub = &UDMSubUser{
|
||||
"smf_sel": "SmfSel",
|
||||
"cag": "Cag",
|
||||
|
||||
"create_time": "CreateTime",
|
||||
"created_at": "CreatedAt",
|
||||
"tenant_id": "TenantID",
|
||||
"tenant_name": "TenantName", // Tenant name for multi-tenancy
|
||||
},
|
||||
@@ -262,7 +264,7 @@ func (r *UDMSubUser) Inserts(uArr []model.UDMSubUser) int64 {
|
||||
// multi-tenancy
|
||||
r.SetTenantID(&uArr)
|
||||
|
||||
tx := datasource.DefaultDB().CreateInBatches(uArr, 2000)
|
||||
tx := datasource.DefaultDB().CreateInBatches(uArr, 1000)
|
||||
if err := tx.Error; err != nil {
|
||||
logger.Errorf("CreateInBatches err => %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user