From 372310ae7a61f97cc1e48fae0d2a441e43d75d10 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 27 Jun 2024 17:36:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UriUEInfo=E6=8E=A5=E5=8F=A3=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E8=A7=A3=E6=9E=90=E5=8F=98=E6=9B=B4Map?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/ue/ue.go | 78 +++++++++++++++----------------------------- lib/routes/routes.go | 2 -- 2 files changed, 26 insertions(+), 54 deletions(-) diff --git a/features/ue/ue.go b/features/ue/ue.go index 279e24b9..5581bb6f 100644 --- a/features/ue/ue.go +++ b/features/ue/ue.go @@ -8,12 +8,14 @@ import ( "strings" "time" + "be.ems/lib/core/ctx" "be.ems/lib/dborm" "be.ems/lib/global" "be.ems/lib/log" "be.ems/lib/services" "be.ems/restagent/config" tokenConst "be.ems/src/framework/constants/token" + neService "be.ems/src/modules/network_element/service" "github.com/go-resty/resty/v2" "github.com/gorilla/mux" ) @@ -241,66 +243,38 @@ func GetSubscriptionsFromNSSF(w http.ResponseWriter, r *http.Request) { // Get UEInfo from NF/NFs func GetUEInfoFromNF(w http.ResponseWriter, r *http.Request) { - log.Info("GetUEInfoFromNF processing... ") + log.Debug("GetUEInfoFromNF processing... ") - vars := mux.Vars(r) - neType := vars["elementTypeValue"] - if neType == "" { - services.ResponseNotFound404UriNotExist(w, r) - return - } - //neTypeLower := strings.ToLower(neType) - var neId string - neIds := services.GetParamsArrByName("neId", r) - if len(neIds) == 1 { - neId = neIds[0] - } else { + neId := ctx.GetQuery(r, "neId") + neType := ctx.GetParam(r, "elementTypeValue") + if neType == "" || neId == "" { + log.Error("elementTypeValue/neId is empty") services.ResponseNotFound404UriNotExist(w, r) return } - // token, err := services.CheckFrontValidRequest(w, r) - // if err != nil { - // log.Error("Request error:", err) - // return - // } - // log.Debug("token:", token) + neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId) - neInfo, err := dborm.XormGetNeInfo(neType, neId) - if err != nil { - log.Error("Failed to XormGetNeInfo:", err) - services.ResponseInternalServerError500ProcessError(w, err) - return - } else if neInfo == nil { - err := global.ErrCMNotFoundTargetNE - log.Error(global.ErrCMNotFoundTargetNE) - services.ResponseInternalServerError500ProcessError(w, err) - return + var response services.MapResponse + if neInfo.NeId == neId && neInfo.NeId != "" { + requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.IP, neInfo.Port, r.RequestURI) + log.Debug("requestURI2NF:", requestURI2NF) + resp, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + Get(requestURI2NF) + if err != nil { + log.Error("Failed to Get from NF:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } else { + _ = json.Unmarshal(resp.Body(), &response) + } + log.Debug("response:", response) } - log.Trace("neInfo:", neInfo) - hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port) - requestURI2NF := fmt.Sprintf("%s%s", hostUri, r.RequestURI) - - log.Debug("requestURI2NF:", requestURI2NF) - - resp, err := client.R(). - EnableTrace(). - SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}). - // SetHeaders(map[string]string{"accessToken": token}). - SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}). - SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). - Get(requestURI2NF) - if err != nil { - log.Error("Get system state from NF is failed:", err) - services.ResponseInternalServerError500ProcessError(w, err) - return - } else { - var response services.MapResponse - _ = json.Unmarshal(resp.Body(), &response) - services.ResponseWithJson(w, resp.StatusCode(), response) - return - } + services.ResponseWithJson(w, http.StatusOK, response) } // POST User Info from NF/NFs diff --git a/lib/routes/routes.go b/lib/routes/routes.go index b7572a65..537a9384 100644 --- a/lib/routes/routes.go +++ b/lib/routes/routes.go @@ -261,9 +261,7 @@ func init() { Register("DELETE", ue.CustomUriPCFUserM, ue.DeletePCFUserInfo, nil) //PCF User file Register("GET", ue.UriPCFUserFileExport, ue.GetUEInfoFileExportNF, nil) - Register("GET", ue.CustomUriPCFUserFileExport, ue.GetUEInfoFromNF, nil) Register("PUT", ue.UriPCFUserFileImport, ue.PutPCFUserInfo, nil) - Register("PUT", ue.CustomUriPCFUserFileImport, ue.PutPCFUserInfo, nil) // UE Number Register("GET", ue.UriUENum, ue.GetUENumFromNF, nil)