diff --git a/features/state/getstate.go b/features/state/getstate.go index 5986c0a7..46e62eb9 100644 --- a/features/state/getstate.go +++ b/features/state/getstate.go @@ -154,7 +154,8 @@ func init() { return 0, errors.New("quota exceeded") }) */ - client.SetTimeout(3 * time.Second) + client.SetTimeout(time.Duration(2 * time.Second)) + //client.SetTimeout(2 * time.Second) } func NeStatusEnumToStr(intStatus int) string { @@ -216,7 +217,7 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { if neType != omcNeTypeLower { log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower) var requestURI2NF string - if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(neType) != "udm" { + if config.GetYamlConfig().OMC.TestMode && strings.ToLower(neType) != "udm" { var udmNEs []dborm.NeInfo err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs) if err != nil { @@ -237,7 +238,7 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { } log.Debug("requestURI2NF:", requestURI2NF) - resp, err := client.SetTimeout(time.Duration(1 * time.Second)).R(). + resp, err := client.R(). EnableTrace(). SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}). SetHeaders(map[string]string{"accessToken": token}). @@ -266,6 +267,9 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { } //neItem := strings.ToUpper(neType) + "/" + neId result, err = global.ToMap(*licenseInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } } } else { systemState := GetEMSState(neInfo.Ip) @@ -279,6 +283,9 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { ExpiryDate: systemState.ExpiryDate, } result, err = global.ToMap(*licenseInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } // neItem := strings.ToUpper(neType) + "/" + neId // result[neItem] = sysInfo } @@ -306,6 +313,11 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { var neList []dborm.NeInfo _, err = dborm.XormGetAllNeInfo(&neList) + if err != nil { + log.Error("Failed to XormGetAllNeInfo:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } omcNeTypeLower := "omc" if config.GetYamlConfig().OMC.NeType != "" { omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType) @@ -321,7 +333,7 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { // requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", // hostUri, strings.ToLower(ne.NeType)) var requestURI2NF string - if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(ne.NeType) != "udm" { + if config.GetYamlConfig().OMC.TestMode && strings.ToLower(ne.NeType) != "udm" { var udmNEs []dborm.NeInfo err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs) if err != nil { @@ -369,6 +381,9 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { ExpiryDate: systemState.ExpiryDate, } result, err = global.ToMap(*licenseInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } // neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId // result[neItem] = sysInfo } @@ -384,6 +399,9 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) { ExpiryDate: systemState.ExpiryDate, } result, err = global.ToMap(*licenseInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } // neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId // result[neItem] = sysInfo } @@ -441,7 +459,7 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) { if neType != omcNeTypeLower { log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower) var requestURI2NF string - if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(neType) != "udm" { + if config.GetYamlConfig().OMC.TestMode && strings.ToLower(neType) != "udm" { var udmNEs []dborm.NeInfo err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs) if err != nil { @@ -462,7 +480,7 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) { } log.Debug("requestURI2NF:", requestURI2NF) - resp, err := client.SetTimeout(time.Duration(1 * time.Second)).R(). + resp, err := client.R(). EnableTrace(). SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}). SetHeaders(map[string]string{"accessToken": token}). @@ -515,6 +533,9 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) { } //neItem := strings.ToUpper(neType) + "/" + neId result, err = global.ToMap(*sysInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } } } else { systemState := GetEMSState(neInfo.Ip) @@ -533,6 +554,9 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) { Status: NeStatusEnumToStr(neInfo.Status), } result, err = global.ToMap(*sysInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } // neItem := strings.ToUpper(neType) + "/" + neId // result[neItem] = sysInfo } @@ -560,6 +584,11 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) { var neList []dborm.NeInfo _, err = dborm.XormGetAllNeInfo(&neList) + if err != nil { + log.Error("Failed to XormGetAllNeInfo:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } omcNeTypeLower := "omc" if config.GetYamlConfig().OMC.NeType != "" { omcNeTypeLower = strings.ToLower(config.GetYamlConfig().OMC.NeType) @@ -575,7 +604,7 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) { // requestURI2NF := fmt.Sprintf("%s/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", // hostUri, strings.ToLower(ne.NeType)) var requestURI2NF string - if config.GetYamlConfig().OMC.TestMode == true && strings.ToLower(ne.NeType) != "udm" { + if config.GetYamlConfig().OMC.TestMode && strings.ToLower(ne.NeType) != "udm" { var udmNEs []dborm.NeInfo err := dborm.XormGetNeInfoByNeType("UDM", &udmNEs) if err != nil { @@ -651,6 +680,9 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) { // neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId // result[neItem] = sysInfo result, err = global.ToMap(*sysInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } } } else { port, _ := strconv.Atoi(ne.Port) @@ -672,6 +704,9 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) { // neItem := strings.ToUpper(ne.NeType) + "/" + ne.NeId // result[neItem] = sysInfo result, err = global.ToMap(*sysInfo, "json") + if err != nil { + log.Warn("Failed to map:", err) + } } data = append(data, result) @@ -772,7 +807,7 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) { log.Debug("requestURI2NF:", requestURI2NF) result["ipAddress"] = ne.Ip - resp, err := client.SetTimeout(time.Duration(1 * time.Second)).R(). + resp, err := client.R(). EnableTrace(). SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}). SetHeaders(map[string]string{"accessToken": token}). @@ -785,6 +820,8 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) { ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused", } result["error"] = errorMessage + SN, _ := dborm.XormGetNESN(ne.NeType, ne.NeId) + result["serialNum"] = SN } else { systemState := make(map[string]interface{}) _ = json.Unmarshal(resp.Body(), &systemState) diff --git a/lib/dborm/dborm.go b/lib/dborm/dborm.go index 3bc0ebd3..7dc201ce 100644 --- a/lib/dborm/dborm.go +++ b/lib/dborm/dborm.go @@ -1820,3 +1820,19 @@ func XormGetTraceRawMsg(id int) (int64, []byte, error) { return timestamp, rawMsg, nil } + +func XormGetNESN(neType, neID string) (string, error) { + SN := "-" + _, err := xEngine.Table("ne_state"). + Where("ne_type=? and ne_id=?", neType, neID). + Asc("timestamp"). + Cols("serial_num"). + Limit(1). + Get(&SN) + if err != nil { + log.Error("Failed to get table ne_state:", err) + return SN, err + } + + return SN, nil +}