diff --git a/src/modules/network_element/service/ne_info.go b/src/modules/network_element/service/ne_info.go index 244c5981..e01f5109 100644 --- a/src/modules/network_element/service/ne_info.go +++ b/src/modules/network_element/service/ne_info.go @@ -79,6 +79,28 @@ func (r *NeInfo) ClearNeCacheByNeType(neType string) bool { return delOk } +// SelectNeInfoByNeType 通过ne_type查询网元信息 +func (r *NeInfo) SelectNeInfoByNeType(neType string) []model.NeInfo { + neInfo := make([]model.NeInfo, 0) + key := fmt.Sprintf("%s%s:*", cachekey.NE_KEY, strings.ToUpper(neType)) + jsonStr, _ := redis.Get("", key) + if len(jsonStr) > 7 { + err := json.Unmarshal([]byte(jsonStr), &neInfo) + if err != nil { + return neInfo + } + } else { + neInfo = r.neInfoRepository.SelectList(model.NeInfo{NeType: neType}) + for _, v := range neInfo { + key := fmt.Sprintf("%s%s:%s", cachekey.NE_KEY, strings.ToUpper(v.NeType), v.NeId) + redis.Del("", key) + values, _ := json.Marshal(v) + redis.Set("", key, string(values)) + } + } + return neInfo +} + // SelectNeInfoByRmuid 通过rmUID查询网元信息 func (r *NeInfo) SelectNeInfoByRmuid(rmUid string) model.NeInfo { var neInfo model.NeInfo