feat: 网元直连接口-网元配置对端网管信息

This commit is contained in:
TsMask
2024-03-01 19:02:10 +08:00
parent ec57024cca
commit fb59dfa428
2 changed files with 51 additions and 17 deletions

View File

@@ -72,15 +72,15 @@ func Post(url string, data url.Values, headers map[string]string) ([]byte, error
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, errors.New(resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusOK {
return body, errors.New(resp.Status)
}
return body, nil
}
@@ -110,15 +110,15 @@ func PostJSON(url string, data any, headers map[string]string) ([]byte, error) {
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, errors.New(resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusOK {
return body, errors.New(resp.Status)
}
return body, nil
}
@@ -199,15 +199,15 @@ func PutJSON(url string, data any, headers map[string]string) ([]byte, error) {
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, errors.New(resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusOK {
return body, errors.New(resp.Status)
}
return body, nil
}
@@ -230,14 +230,14 @@ func Delete(url string, headers map[string]string) ([]byte, error) {
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, errors.New(resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusOK {
return body, errors.New(resp.Status)
}
return body, nil
}

View File

@@ -13,7 +13,7 @@ import (
// NeState 获取网元端服务状态
func NeState(neInfo model.NeInfo) (map[string]any, error) {
// 网元直连
// 网元状态
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/systemState", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
resBytes, err := fetch.Get(neUrl, nil, 200)
if err != nil {
@@ -44,3 +44,37 @@ func NeState(neInfo model.NeInfo) (map[string]any, error) {
"disk": resData["diskSpace"],
}, nil
}
// NeConfigOMC 网元配置对端网管信息
func NeConfigOMC(neInfo model.NeInfo) (map[string]any, error) {
// 网元配置对端网管信息
neUrl := fmt.Sprintf("http://%s:%d/api/rest/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig", neInfo.IP, neInfo.Port, strings.ToLower(neInfo.NeType))
resBytes, err := fetch.PutJSON(neUrl, map[string]any{
"neId": neInfo.NeId,
"neName": neInfo.NeName,
"port": neInfo.Port,
"province": neInfo.Province,
"pvFlag": neInfo.PvFlag,
"rmUID": neInfo.RmUID,
"vendorName": neInfo.VendorName,
"dn": neInfo.Dn,
}, nil)
var resData map[string]any
if err != nil {
status := err.Error()
if strings.HasPrefix(status, "204") {
return resData, nil
}
logger.Warnf("NeConfigOMC %s", status)
return nil, err
}
// 序列化结果
err = json.Unmarshal(resBytes, &resData)
if err != nil {
logger.Warnf("NeConfigOMC Unmarshal %s", err.Error())
return nil, err
}
return resData, nil
}