From 4e1a50c7544f5d9c4e8bcc896ec24e572ba839cf Mon Sep 17 00:00:00 2001 From: zhangsz Date: Wed, 16 Apr 2025 11:22:42 +0800 Subject: [PATCH] fix: import issue --- features/ue/repository/ims_user.go | 2 +- features/ue/repository/voip_auth.go | 12 +++++++++++- features/ue/service/voip_auth.go | 25 +++++++++++++++---------- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/features/ue/repository/ims_user.go b/features/ue/repository/ims_user.go index 6ced5903..2d02f9a6 100644 --- a/features/ue/repository/ims_user.go +++ b/features/ue/repository/ims_user.go @@ -253,7 +253,7 @@ func (r *IMSUserRepository) Delete(imsi, neId string) int64 { // DeletePrefixByIMSI 删除前缀匹配的实体 func (r *IMSUserRepository) DeletePrefixByIMSI(imsiPrefix, neId string) int64 { - tx := datasource.DefaultDB().Where("imsi like concat(?, '%') and ne_id = ?", imsiPrefix, neId).Delete(&IMSUserRepository{}) + tx := datasource.DefaultDB().Where("imsi like concat(?, '%') and ne_id = ?", imsiPrefix, neId).Delete(&model.IMSUser{}) if err := tx.Error; err != nil { logger.Errorf("DeletePrefixByIMSI err => %v", err) } diff --git a/features/ue/repository/voip_auth.go b/features/ue/repository/voip_auth.go index 2c49484b..44f1e051 100644 --- a/features/ue/repository/voip_auth.go +++ b/features/ue/repository/voip_auth.go @@ -243,13 +243,23 @@ func (r *VoIPAuthRepository) Delete(userName, neId string) int64 { // DeletePrefixByUserName 删除以指定前缀的用户名 func (r *VoIPAuthRepository) DeletePrefixByUserName(userNamePrefix, neId string) int64 { - tx := datasource.DefaultDB().Where("user_name like concat(?, '%') and ne_id = ?", userNamePrefix, neId).Delete(&VoIPAuthRepository{}) + tx := datasource.DefaultDB().Where("user_name like concat(?, '%') and ne_id = ?", userNamePrefix, neId).Delete(&model.VoIPAuth{}) if err := tx.Error; err != nil { logger.Errorf("DeletePrefixByUserName err => %v", err) } return tx.RowsAffected } +// DeleteByUserName 删除以指定的用户名 +func (r *VoIPAuthRepository) DeleteByUserName(userName, neId string) int64 { + tx := datasource.DefaultDB().Where("user_name = ? and ne_id = ?", userName, neId).Delete(&model.VoIPAuth{}) + if err := tx.Error; err != nil { + logger.Errorf("DeleteByUserName err => %v", err) + } + return tx.RowsAffected +} + +// SetTenantID 设置租户ID func (r *VoIPAuthRepository) SetTenantID(subArr *[]model.VoIPAuth) { for s := 0; s < len(*subArr); s++ { var tenantID []string diff --git a/features/ue/service/voip_auth.go b/features/ue/service/voip_auth.go index 4b02b527..e1a7ac74 100644 --- a/features/ue/service/voip_auth.go +++ b/features/ue/service/voip_auth.go @@ -106,31 +106,36 @@ func (r *VoIPAuthService) Insert(neId string, u model.VoIPAuth) int64 { // InsertData 导入文件数据 dataType目前两种:txt/csv func (r *VoIPAuthService) InsertData(neId, dataType string, data any) int64 { - // userName截取前缀,重新获取部分数据 - prefixes := make(map[string]struct{}) + userNames := make(map[string]struct{}) if dataType == "csv" { for _, v := range data.([]map[string]string) { userName := v["userName"] - prefix := userName[:len(userName)-4] - prefixes[prefix] = struct{}{} + // if len(userName) < 6 { + // continue + // } + // prefix := userName[:len(userName)-4] + userNames[userName] = struct{}{} } } if dataType == "txt" { for _, v := range data.([][]string) { userName := v[0] - prefix := userName[:len(userName)-4] - prefixes[prefix] = struct{}{} + // if len(userName) < 6 { + // continue + // } + // prefix := userName[:len(userName)-4] + userNames[userName] = struct{}{} } } // 根据前缀重新加载插入 var num int64 = 0 - for prefix := range prefixes { - // keys volte:4600001000004* - arr := r.dataByRedis(prefix+"*", neId) + for userName := range userNames { + // keys voip:11111 + arr := r.dataByRedis(userName, neId) if len(arr) > 0 { - r.voipAuthRepository.DeletePrefixByUserName(prefix, neId) + r.voipAuthRepository.DeleteByUserName(userName, neId) num += r.voipAuthRepository.Inserts(arr) } }