feat: UDM数据批量导入拼减少防止溢出限制

This commit is contained in:
TsMask
2025-09-23 10:47:34 +08:00
parent d353c51b8d
commit 1ab2d97756
4 changed files with 13 additions and 6 deletions

View File

@@ -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
},

View File

@@ -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
},

View File

@@ -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)
}

View File

@@ -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)
}