fix: UriUEInfo接口接收解析变更Map

This commit is contained in:
TsMask
2024-06-27 17:36:31 +08:00
parent f5c227df39
commit 372310ae7a
2 changed files with 26 additions and 54 deletions

View File

@@ -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, 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)
neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId)
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{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)
log.Error("Failed to Get from NF:", err)
services.ResponseInternalServerError500ProcessError(w, err)
return
} else {
var response services.MapResponse
_ = json.Unmarshal(resp.Body(), &response)
services.ResponseWithJson(w, resp.StatusCode(), response)
return
}
log.Debug("response:", response)
}
services.ResponseWithJson(w, http.StatusOK, response)
}
// POST User Info from NF/NFs

View File

@@ -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)