ソースを参照

数据中心api调用

wulei 1 年間 前
コミット
8fa15ac734
1 ファイル変更61 行追加0 行削除
  1. 61 0
      datacenter_client/item-history.go

+ 61 - 0
datacenter_client/item-history.go

@@ -0,0 +1,61 @@
+package datacenter_client
+
+import (
+	"encoding/json"
+	"errors"
+	"fmt"
+	"log"
+	"metawant.greentech.com.cn/gaoyagang/gt-common/httplib"
+)
+
+type ItemHistoryReq struct {
+	ServerIp  string
+	ProjectId string
+	ItemName string
+	Stime string
+	Etime string
+}
+
+type ItemHistoryResp struct {
+	ProjectId int `json:"project_id"`
+	ItemName string `json:"item_name"`
+	Val float64 `json:"val"`
+	HTime string `json:"h_time"`
+}
+
+type ItemHistoryRespList struct {
+	List []ItemHistoryResp
+}
+
+type ItemHistoryBody struct {
+	Code int              	`json:"code"`
+	Msg  string             `json:"msg"`
+	Data ItemHistoryRespList 	`json:"data"`
+}
+
+func GetItemHistory (req ItemHistoryReq) (resp []ItemHistoryResp, err error) {
+	url := fmt.Sprintf("http://%s/api/dtgateway/v1/item-history/info", req.ServerIp)
+	h := httplib.Get(url)
+	h.Header("X-Forwarded-For", "127.0.0.1")
+	h.Param("project_id", req.ProjectId)
+	h.Param("item_name", req.ItemName)
+	h.Param("stime", req.Stime)
+	h.Param("etime", req.Etime)
+	body, err := h.Bytes()
+	if err != nil {
+		log.Println("GetItemHistory Error:", err)
+		return
+	}
+	result := &ItemHistoryBody{}
+	err = json.Unmarshal(body, &result)
+	if err != nil {
+		log.Println("GetItemHistory Error:", err)
+		return
+	}
+	if result.Code != 200 {
+		err = errors.New(result.Msg)
+		return
+	}
+	resp = result.Data.List
+	return
+}