fix: import issue

This commit is contained in:
zhangsz
2025-04-16 11:22:42 +08:00
parent 82562de598
commit 4e1a50c754
3 changed files with 27 additions and 12 deletions

View File

@@ -253,7 +253,7 @@ func (r *IMSUserRepository) Delete(imsi, neId string) int64 {
// DeletePrefixByIMSI 删除前缀匹配的实体 // DeletePrefixByIMSI 删除前缀匹配的实体
func (r *IMSUserRepository) DeletePrefixByIMSI(imsiPrefix, neId string) int64 { 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 { if err := tx.Error; err != nil {
logger.Errorf("DeletePrefixByIMSI err => %v", err) logger.Errorf("DeletePrefixByIMSI err => %v", err)
} }

View File

@@ -243,13 +243,23 @@ func (r *VoIPAuthRepository) Delete(userName, neId string) int64 {
// DeletePrefixByUserName 删除以指定前缀的用户名 // DeletePrefixByUserName 删除以指定前缀的用户名
func (r *VoIPAuthRepository) DeletePrefixByUserName(userNamePrefix, neId string) int64 { 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 { if err := tx.Error; err != nil {
logger.Errorf("DeletePrefixByUserName err => %v", err) logger.Errorf("DeletePrefixByUserName err => %v", err)
} }
return tx.RowsAffected 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) { func (r *VoIPAuthRepository) SetTenantID(subArr *[]model.VoIPAuth) {
for s := 0; s < len(*subArr); s++ { for s := 0; s < len(*subArr); s++ {
var tenantID []string var tenantID []string

View File

@@ -106,31 +106,36 @@ func (r *VoIPAuthService) Insert(neId string, u model.VoIPAuth) int64 {
// InsertData 导入文件数据 dataType目前两种txt/csv // InsertData 导入文件数据 dataType目前两种txt/csv
func (r *VoIPAuthService) InsertData(neId, dataType string, data any) int64 { func (r *VoIPAuthService) InsertData(neId, dataType string, data any) int64 {
// userName截取前缀,重新获取部分数据 userNames := make(map[string]struct{})
prefixes := make(map[string]struct{})
if dataType == "csv" { if dataType == "csv" {
for _, v := range data.([]map[string]string) { for _, v := range data.([]map[string]string) {
userName := v["userName"] userName := v["userName"]
prefix := userName[:len(userName)-4] // if len(userName) < 6 {
prefixes[prefix] = struct{}{} // continue
// }
// prefix := userName[:len(userName)-4]
userNames[userName] = struct{}{}
} }
} }
if dataType == "txt" { if dataType == "txt" {
for _, v := range data.([][]string) { for _, v := range data.([][]string) {
userName := v[0] userName := v[0]
prefix := userName[:len(userName)-4] // if len(userName) < 6 {
prefixes[prefix] = struct{}{} // continue
// }
// prefix := userName[:len(userName)-4]
userNames[userName] = struct{}{}
} }
} }
// 根据前缀重新加载插入 // 根据前缀重新加载插入
var num int64 = 0 var num int64 = 0
for prefix := range prefixes { for userName := range userNames {
// keys volte:4600001000004* // keys voip:11111
arr := r.dataByRedis(prefix+"*", neId) arr := r.dataByRedis(userName, neId)
if len(arr) > 0 { if len(arr) > 0 {
r.voipAuthRepository.DeletePrefixByUserName(prefix, neId) r.voipAuthRepository.DeleteByUserName(userName, neId)
num += r.voipAuthRepository.Inserts(arr) num += r.voipAuthRepository.Inserts(arr)
} }
} }