fix: UDM数据来源通过网元主机的Redis客户端进行连接

This commit is contained in:
TsMask
2024-10-16 16:41:57 +08:00
parent 717ee894bd
commit 87836c7adc
7 changed files with 83 additions and 35 deletions

View File

@@ -8,6 +8,7 @@ import (
"be.ems/src/framework/redis"
"be.ems/src/modules/network_data/model"
"be.ems/src/modules/network_data/repository"
neService "be.ems/src/modules/network_element/service"
)
// 实例化服务层 UDMSubUser 结构体
@@ -18,22 +19,33 @@ var NewUDMSub = &UDMSubUser{
// UDM签约信息 服务层处理
type UDMSubUser struct {
// UDM签约信息数据信息
udmSubRepository *repository.UDMSubUser
// UDM用户IMSI信息数据信息
udmUserInfoRepository *repository.UDMUserInfo
udmSubRepository *repository.UDMSubUser // UDM签约信息数据信息
udmUserInfoRepository *repository.UDMUserInfo // UDM用户IMSI信息数据信息
}
// dataByRedis UDM签约用户 db:0 中 udm-sd:*
func (r *UDMSubUser) dataByRedis(imsi, neId string) []model.UDMSubUser {
arr := []model.UDMSubUser{}
key := fmt.Sprintf("udm-sd:%s", imsi)
udmsdArr, err := redis.GetKeys("udmuser", key)
source := fmt.Sprintf("UDM_%s", neId)
// 网元主机的Redis客户端
redisClient, err := neService.NewNeInfo.NeRunRedisClient("UDM", neId)
if err != nil {
return arr
}
defer func() {
redisClient.Close()
redis.ConnectPush(source, nil)
}()
redis.ConnectPush(source, redisClient.Client)
udmsdArr, err := redis.GetKeys(source, key)
if err != nil {
return arr
}
for _, key := range udmsdArr {
m, err := redis.GetHash("udmuser", key)
m, err := redis.GetHash(source, key)
if err != nil {
continue
}