diff --git a/features/cm/param.go b/features/cm/param.go index 4cb84ab..532dcad 100644 --- a/features/cm/param.go +++ b/features/cm/param.go @@ -3,7 +3,7 @@ package cm import ( "strings" - "nms_cxy/lib/dborm" + "nms_cxy/lib/core/utils/ctx" "nms_cxy/lib/global" "nms_cxy/lib/log" "nms_cxy/lib/services" @@ -13,8 +13,7 @@ import ( "fmt" "io" "net/http" - - tokenConst "nms_cxy/src/framework/constants/token" + neService "nms_cxy/src/modules/network_element/service" "github.com/go-resty/resty/v2" "github.com/gorilla/mux" @@ -30,54 +29,20 @@ var ( func GetParamConfigFromNF(w http.ResponseWriter, r *http.Request) { log.Debug("GetParamConfigFromNF processing... ") - // data := make([]map[string]interface{}, 1) - var response services.DataResponse + neId := ctx.GetQuery(r, "ne_id") vars := mux.Vars(r) neType := vars["elementTypeValue"] - if neType == "" { + if neType == "" || neId == "" { log.Error("elementTypeValue is empty") services.ResponseNotFound404UriNotExist(w, r) return } - token, err := services.CheckFrontValidRequest(w, r) - if err != nil { - log.Error("Request error:", err) - return - } + neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId) - restHostPort := fmt.Sprintf("http://127.0.0.1:%d", config.GetYamlConfig().Rest[0].Port) - getNeInfoPattern := fmt.Sprintf(config.DefaultUriPrefix+"/databaseManagement/v1/%s/ne_info", config.GetYamlConfig().Database.Name) - getNeInfoURI := restHostPort + getNeInfoPattern - neId := services.GetUriParamString(r, "ne_id", ",", true, true) - if neId == "" { - getNeInfoURI = getNeInfoURI + fmt.Sprintf("?WHERE=status+in+('0','3')+and+ne_type='%s'", neType) - } else { - getNeInfoURI = getNeInfoURI + fmt.Sprintf("?WHERE=status+in+('0','3')+and+ne_type='%v'+and+ne_id+in+%v", neType, neId) - } - log.Debug("getNeInfoURI:", getNeInfoURI) - - client := resty.New() - 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(getNeInfoURI) - if err != nil { - log.Error("Failed to Get:", err) - services.ResponseInternalServerError500ProcessError(w, err) - return - } - log.Trace("NE info:", string(resp.Body())) - - // var neList []dborm.NeInfo - neList, _ := dborm.XormParseResult(resp.Body()) - - if len(neList) >= 1 { - s := neList[0] - requestURI2NF := fmt.Sprintf("http://%s:%v%s", s.Ip, s.Port, r.RequestURI) + var response services.DataResponse + if neInfo.NeId == neId { + requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.IP, neInfo.Port, r.RequestURI) log.Debug("requestURI2NF:", requestURI2NF) resp, err := client.R(). @@ -101,30 +66,24 @@ func GetParamConfigFromNF(w http.ResponseWriter, r *http.Request) { func PostParamConfigToNF(w http.ResponseWriter, r *http.Request) { log.Debug("PostParamConfigToNF processing... ") - _, err := services.CheckFrontValidRequest(w, r) - if err != nil { - log.Error("Request error:", err) - return - } - + neId := ctx.GetQuery(r, "ne_id") vars := mux.Vars(r) neType := vars["elementTypeValue"] - if neType == "" { + if neType == "" || neId == "" { log.Error("elementTypeValue is empty") services.ResponseNotFound404UriNotExist(w, r) return } - neId := services.GetUriParamString(r, "ne_id", ",", false, false) - // no, _ := strconv.ParseInt(neId, 10, 64) - neInfo, err := dborm.XormGetNeInfo(neType, neId) - if err != nil { - log.Error("dborm.XormGetNeInfo is failed:", err) + neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId) + + if neInfo.NeId != neId { + log.Error("neId is empty") services.ResponseInternalServerError500DatabaseOperationFailed(w) return } - requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.Ip, neInfo.Port, r.RequestURI) + requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.IP, neInfo.Port, r.RequestURI) log.Debug("requestURI2NF: POST ", requestURI2NF) body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen)) //io.LimitReader限制大小 @@ -153,12 +112,6 @@ func PostParamConfigToNF(w http.ResponseWriter, r *http.Request) { func PutParamConfigToNF(w http.ResponseWriter, r *http.Request) { log.Debug("PutParamConfigToNF processing... ") - _, err := services.CheckFrontValidRequest(w, r) - if err != nil { - log.Error("Request error:", err) - return - } - vars := mux.Vars(r) neType := vars["elementTypeValue"] if neType == "" { @@ -173,16 +126,16 @@ func PutParamConfigToNF(w http.ResponseWriter, r *http.Request) { return } - neId := services.GetUriParamString(r, "ne_id", ",", false, false) - // no, _ := strconv.ParseInt(neId, 10, 64) - neInfo, err := dborm.XormGetNeInfo(neType, neId) - if err != nil { - log.Error("dborm.XormGetNeInfo is failed:", err) + neId := ctx.GetQuery(r, "ne_id") + neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId) + + if neInfo.NeId != neId { + log.Error("neId is empty") services.ResponseInternalServerError500DatabaseOperationFailed(w) return } - requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.Ip, neInfo.Port, r.RequestURI) + requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.IP, neInfo.Port, r.RequestURI) log.Debug("requestURI2NF: PUT ", requestURI2NF) body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen)) //io.LimitReader限制大小 @@ -212,36 +165,12 @@ func PutParamConfigToNF(w http.ResponseWriter, r *http.Request) { // // 目前没配置,返回204 func PutOMCNeConfig(w http.ResponseWriter, r *http.Request) { - // vars := mux.Vars(r) - // neType := vars["elementTypeValue"] - // if neType == "" { - // log.Error("elementTypeValue is empty") - // services.ResponseNotFound404UriNotExist(w, r) - // return - // } - // body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen)) - // if err != nil { - // log.Error("Failed to io.ReadAll:", err) - // services.ResponseNotFound404UriNotExist(w, r) - // return - // } - - // neInfo := new(dborm.NeInfo) - // _ = json.Unmarshal(body, neInfo) - // neInfo.NeType = strings.ToUpper(neType) - services.ResponseStatusOK204NoContent(w) } func DeleteParamConfigToNF(w http.ResponseWriter, r *http.Request) { log.Debug("DeleteParamConfigToNF processing... ") - _, err := services.CheckFrontValidRequest(w, r) - if err != nil { - log.Error("Request error:", err) - return - } - vars := mux.Vars(r) neType := vars["elementTypeValue"] if neType == "" { @@ -249,17 +178,17 @@ func DeleteParamConfigToNF(w http.ResponseWriter, r *http.Request) { services.ResponseNotFound404UriNotExist(w, r) return } - neId := services.GetUriParamString(r, "ne_id", ",", false, false) - // no, _ := strconv.ParseInt(neId, 10, 64) - neInfo, err := dborm.XormGetNeInfo(neType, neId) - if err != nil { - log.Error("dborm.XormGetNeInfo is failed:", err) + neId := ctx.GetQuery(r, "ne_id") + neInfo := neService.NewNeInfoImpl.SelectNeInfoByNeTypeAndNeID(neType, neId) + + if neInfo.NeId != neId { + log.Error("neId is empty") services.ResponseInternalServerError500DatabaseOperationFailed(w) return } - requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.Ip, neInfo.Port, r.RequestURI) + requestURI2NF := fmt.Sprintf("http://%s:%v%s", neInfo.IP, neInfo.Port, r.RequestURI) log.Debug("requestURI2NF: DELETE ", requestURI2NF) client := resty.New()