From 716d05295d5a2283373df1dc9ed951eeff96732d Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 23 Nov 2023 21:46:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UDM=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=90=8E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/network_element/service/udm_auth.impl.go | 10 ++++++---- src/modules/network_element/service/udm_sub.impl.go | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/modules/network_element/service/udm_auth.impl.go b/src/modules/network_element/service/udm_auth.impl.go index 378200ae..7d6cd519 100644 --- a/src/modules/network_element/service/udm_auth.impl.go +++ b/src/modules/network_element/service/udm_auth.impl.go @@ -23,7 +23,8 @@ type UDMAuthImpl struct { // authDataByRedis UDM鉴权用户 func (r *UDMAuthImpl) authDataByRedis(imsi, neID string) []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 { return arr } @@ -166,11 +167,12 @@ func (r *UDMAuthImpl) Delete(neID, imsi string) int64 { // Insert UDM鉴权用户-删除范围 func (r *UDMAuthImpl) Deletes(neID, imsi, num string) int64 { - prefix := imsi[:len(imsi)-len(num)] - // keys udm-sd:4600001000004* + prefix := imsi[:len(imsi)-len(num)-1] + // 直接删除前缀的记录 + r.udmAuthRepository.DeletePrefixImsi(neID, prefix) + // keys ausf:4600001000004* authArr := r.authDataByRedis(prefix+"*", neID) if len(authArr) > 0 { - r.udmAuthRepository.DeletePrefixImsi(neID, prefix) return r.udmAuthRepository.Inserts(authArr) } return 0 diff --git a/src/modules/network_element/service/udm_sub.impl.go b/src/modules/network_element/service/udm_sub.impl.go index e730e01d..617a0a39 100644 --- a/src/modules/network_element/service/udm_sub.impl.go +++ b/src/modules/network_element/service/udm_sub.impl.go @@ -23,7 +23,8 @@ type UDMSubImpl struct { // subDataByRedis UDM签约用户 func (r *UDMSubImpl) subDataByRedis(imsi, neID string) []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 { return arr } @@ -180,11 +181,12 @@ func (r *UDMSubImpl) Delete(neID, imsi string) int64 { // Insert UDM签约用户-删除范围 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* authArr := r.subDataByRedis(prefix+"*", neID) if len(authArr) > 0 { - r.udmSubRepository.DeletePrefixImsi(neID, prefix) return r.udmSubRepository.Inserts(authArr) } return 0