fix: UDM用户数据批量删除后获取数据

This commit is contained in:
TsMask
2023-11-23 21:46:11 +08:00
parent 4eacb3bd17
commit 716d05295d
2 changed files with 11 additions and 7 deletions

View File

@@ -23,7 +23,8 @@ type UDMAuthImpl struct {
// authDataByRedis UDM鉴权用户 // authDataByRedis UDM鉴权用户
func (r *UDMAuthImpl) authDataByRedis(imsi, neID string) []model.UDMAuth { func (r *UDMAuthImpl) authDataByRedis(imsi, neID string) []model.UDMAuth {
arr := []model.UDMAuth{} arr := []model.UDMAuth{}
ausfArr, err := redis.GetKeys("udmuser", fmt.Sprintf("ausf:%s", imsi)) key := fmt.Sprintf("ausf:%s", imsi)
ausfArr, err := redis.GetKeys("udmuser", key)
if err != nil { if err != nil {
return arr return arr
} }
@@ -166,11 +167,12 @@ func (r *UDMAuthImpl) Delete(neID, imsi string) int64 {
// Insert UDM鉴权用户-删除范围 // Insert UDM鉴权用户-删除范围
func (r *UDMAuthImpl) Deletes(neID, imsi, num string) int64 { func (r *UDMAuthImpl) Deletes(neID, imsi, num string) int64 {
prefix := imsi[:len(imsi)-len(num)] prefix := imsi[:len(imsi)-len(num)-1]
// keys udm-sd:4600001000004* // 直接删除前缀的记录
r.udmAuthRepository.DeletePrefixImsi(neID, prefix)
// keys ausf:4600001000004*
authArr := r.authDataByRedis(prefix+"*", neID) authArr := r.authDataByRedis(prefix+"*", neID)
if len(authArr) > 0 { if len(authArr) > 0 {
r.udmAuthRepository.DeletePrefixImsi(neID, prefix)
return r.udmAuthRepository.Inserts(authArr) return r.udmAuthRepository.Inserts(authArr)
} }
return 0 return 0

View File

@@ -23,7 +23,8 @@ type UDMSubImpl struct {
// subDataByRedis UDM签约用户 // subDataByRedis UDM签约用户
func (r *UDMSubImpl) subDataByRedis(imsi, neID string) []model.UDMSub { func (r *UDMSubImpl) subDataByRedis(imsi, neID string) []model.UDMSub {
arr := []model.UDMSub{} arr := []model.UDMSub{}
udmsdArr, err := redis.GetKeys("udmuser", fmt.Sprintf("udm-sd:%s", imsi)) key := fmt.Sprintf("udm-sd:%s", imsi)
udmsdArr, err := redis.GetKeys("udmuser", key)
if err != nil { if err != nil {
return arr return arr
} }
@@ -180,11 +181,12 @@ func (r *UDMSubImpl) Delete(neID, imsi string) int64 {
// Insert UDM签约用户-删除范围 // Insert UDM签约用户-删除范围
func (r *UDMSubImpl) Deletes(neID, imsi, num string) int64 { func (r *UDMSubImpl) Deletes(neID, imsi, num string) int64 {
prefix := imsi[:len(imsi)-len(num)] prefix := imsi[:len(imsi)-len(num)-1]
// 直接删除前缀的记录
r.udmSubRepository.DeletePrefixImsi(neID, prefix)
// keys udm-sd:4600001000004* // keys udm-sd:4600001000004*
authArr := r.subDataByRedis(prefix+"*", neID) authArr := r.subDataByRedis(prefix+"*", neID)
if len(authArr) > 0 { if len(authArr) > 0 {
r.udmSubRepository.DeletePrefixImsi(neID, prefix)
return r.udmSubRepository.Inserts(authArr) return r.udmSubRepository.Inserts(authArr)
} }
return 0 return 0