This commit is contained in:
TsMask
2024-11-30 17:16:57 +08:00

View File

@@ -762,14 +762,14 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) {
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
Get(requestURI2NF) Get(requestURI2NF)
if err != nil { if err != nil {
log.Error("Get system state from NF is failed:", err) log.Error("Fail to get state:", err)
errorMessage := services.ErrorMessage{ errorMessage := services.ErrorMessage{
ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused", ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused",
} }
result["error"] = errorMessage systemState := make(map[string]interface{})
SN, Version, _ := dborm.XormGetNEStateInfo(ne.NeType, ne.NeId) systemState["error"] = errorMessage
result["serialNum"] = SN result["systemState"] = systemState
result["version"] = Version
} else { } else {
systemState := make(map[string]interface{}) systemState := make(map[string]interface{})
_ = json.Unmarshal(resp.Body(), &systemState) _ = json.Unmarshal(resp.Body(), &systemState)
@@ -786,49 +786,62 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) {
response.Data = data response.Data = data
services.ResponseWithJson(w, http.StatusOK, response) services.ResponseWithJson(w, http.StatusOK, response)
return return
} } else if neType == "omc" {
if neType == "omc" {
emsState := GetEMSState("127.0.0.1") emsState := GetEMSState("127.0.0.1")
services.ResponseWithJson(w, http.StatusOK, emsState) services.ResponseWithJson(w, http.StatusOK, emsState)
return return
} }
var neList []dborm.NeInfo // only support omc and all elementType
err := dborm.XormGetNeInfoByNeType(neType, &neList) err := fmt.Errorf("only support omc or all elementTypeValue")
if err != nil { log.Error("Fail to get state:", err)
log.Error("Failed to dborm.XormGetNeInfoByNeType:", err) services.ResponseInternalServerError500ProcessError(w, err)
services.ResponseInternalServerError500ProcessError(w, err)
return
}
data := make([]map[string]interface{}, 0)
for _, ne := range neList {
hostUri := fmt.Sprintf("http://%s:%v", ne.Ip, ne.Port)
requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
hostUri, strings.ToLower(ne.NeType))
log.Debug("requestURI2NF:", requestURI2NF)
resp, err := client.R(). // var neList []dborm.NeInfo
EnableTrace(). // err := dborm.XormGetNeInfoByNeType(neType, &neList)
SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}). // if err != nil {
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). // log.Error("Failed to dborm.XormGetNeInfoByNeType:", err)
Get(requestURI2NF) // services.ResponseInternalServerError500ProcessError(w, err)
if err != nil { // return
log.Error("Get system state from NF is failed:", err) // }
} else { // var omcList []dborm.NeInfo
systemState := make(map[string]interface{}) // err = dborm.XormGetNeInfoByNeType("omc", &omcList)
_ = json.Unmarshal(resp.Body(), &systemState) // if err != nil {
data = append(data, systemState) // log.Error("Failed to omc ne list:", err)
} // services.ResponseInternalServerError500ProcessError(w, err)
} // return
// }
// for i, ne := range neList {
if len(data) == 1 { // }
services.ResponseWithJson(w, http.StatusOK, data[0]) // data := make([]map[string]interface{}, 0)
return // for _, ne := range neList {
} // hostUri := fmt.Sprintf("http://%s:%v", ne.Ip, ne.Port)
var response Response // requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState",
response.Data = data // hostUri, strings.ToLower(ne.NeType))
services.ResponseWithJson(w, http.StatusOK, response) // 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("Get system state from NF is failed:", err)
// } else {
// systemState := make(map[string]interface{})
// _ = json.Unmarshal(resp.Body(), &systemState)
// data = append(data, systemState)
// }
// }
// if len(data) == 1 {
// services.ResponseWithJson(w, http.StatusOK, data[0])
// return
// }
// var response Response
// response.Data = data
// services.ResponseWithJson(w, http.StatusOK, response)
} }
// GetStateFromNF 旧函数 // GetStateFromNF 旧函数