fix: import issue
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user