From 40c58bb1da616b3dcd6af4a7817f970a0bad79f4 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 18 Mar 2024 11:23:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BD=91=E5=85=83=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=80=9A=E8=BF=87rmUID=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=BD=91=E5=85=83=E4=BF=A1=E6=81=AF=EF=BC=8C=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=B8=85=E9=99=A4=E5=B9=B6=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E7=BC=93=E5=AD=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../network_element/network_element.go | 1 + .../network_element/service/ne_info.go | 3 ++ .../network_element/service/ne_info.impl.go | 31 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/modules/network_element/network_element.go b/src/modules/network_element/network_element.go index 594002bc..e767da0f 100644 --- a/src/modules/network_element/network_element.go +++ b/src/modules/network_element/network_element.go @@ -323,4 +323,5 @@ func Setup(router *gin.Engine) { func InitLoad() { // 启动时,清除缓存-网元类型 service.NewNeInfoImpl.ClearNeCacheByNeType("*") + service.NewNeInfoImpl.SelectNeInfoByRmuid("") } diff --git a/src/modules/network_element/service/ne_info.go b/src/modules/network_element/service/ne_info.go index 6856bdb8..a231b167 100644 --- a/src/modules/network_element/service/ne_info.go +++ b/src/modules/network_element/service/ne_info.go @@ -13,6 +13,9 @@ type INeInfo interface { // ClearNeCacheByNeType 清除网元类型缓存 ClearNeCacheByNeType(neType string) bool + // SelectNeInfoByRmuid 通过rmUID查询网元信息 + SelectNeInfoByRmuid(rmUid string) model.NeInfo + // SelectPage 根据条件分页查询 // // bandStatus 带状态信息 diff --git a/src/modules/network_element/service/ne_info.impl.go b/src/modules/network_element/service/ne_info.impl.go index 350b20ea..142b1cc6 100644 --- a/src/modules/network_element/service/ne_info.impl.go +++ b/src/modules/network_element/service/ne_info.impl.go @@ -73,6 +73,37 @@ func (r *NeInfoImpl) ClearNeCacheByNeType(neType string) bool { return delOk } +// SelectNeInfoByRmuid 通过rmUID查询网元信息 +func (r *NeInfoImpl) SelectNeInfoByRmuid(rmUid string) model.NeInfo { + var neInfo model.NeInfo + cacheKeys, _ := redis.GetKeys("", cachekey.NE_KEY+"*") + if len(cacheKeys) > 0 { + for _, key := range cacheKeys { + var v model.NeInfo + jsonStr, _ := redis.Get("", key) + if len(jsonStr) > 7 { + json.Unmarshal([]byte(jsonStr), &v) + } + if v.RmUID == rmUid { + neInfo = v + break + } + } + } else { + neInfos := r.SelectList(neInfo, false) + for _, v := range neInfos { + key := fmt.Sprintf("%s%s:%s", cachekey.NE_KEY, v.NeType, v.NeId) + redis.Del("", key) + values, _ := json.Marshal(v) + redis.Set("", key, string(values)) + if v.RmUID == rmUid { + neInfo = v + } + } + } + return neInfo +} + // SelectPage 根据条件分页查询 // // bandStatus 带状态信息