From 087129bd00d4d189fb7ae4aa982cea64a75b4fca Mon Sep 17 00:00:00 2001 From: simonzhangsz Date: Thu, 25 Jul 2024 10:06:19 +0800 Subject: [PATCH] fix: change ueNum to orginal get request --- features/ue/ue.go | 66 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/features/ue/ue.go b/features/ue/ue.go index 272c1577..bab2f193 100644 --- a/features/ue/ue.go +++ b/features/ue/ue.go @@ -726,6 +726,70 @@ func DeletePCFUserInfo(w http.ResponseWriter, r *http.Request) { } } +// Get UEInfo from SMF +func GetUENumFromNF(w http.ResponseWriter, r *http.Request) { + log.Info("GetUENumFromNF 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 { + 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, 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 + } + 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 + } +} + // SmfUENum SMF在线用户数 // type SmfUENum struct { // UENum int `json:"ueNum"` // 当前在线用户数 @@ -743,7 +807,7 @@ type UENumResponse struct { } // Get UEInfo from SMF -func GetUENumFromNF(w http.ResponseWriter, r *http.Request) { +func NewGetUENumFromNF(w http.ResponseWriter, r *http.Request) { log.Info("GetUENumFromNF processing... ") vars := mux.Vars(r)