history_info.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package datacenter_client
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "fmt"
  6. "log"
  7. "metawant.greentech.com.cn/gaoyagang/gt-common/httplib"
  8. )
  9. type ItemHistoryReq struct {
  10. ProjectId string
  11. ItemName string
  12. Stime string
  13. Etime string
  14. }
  15. type ItemHistoryResp struct {
  16. ProjectId int `json:"project_id"`
  17. ItemName string `json:"item_name"`
  18. Val float64 `json:"val"`
  19. HTime string `json:"h_time"`
  20. }
  21. type ItemHistoryRespList struct {
  22. List []ItemHistoryResp
  23. }
  24. type ItemHistoryBody struct {
  25. Code int `json:"code"`
  26. Msg string `json:"msg"`
  27. Data ItemHistoryRespList `json:"data"`
  28. }
  29. func (d *DcApiClient)GetItemHistory (req ItemHistoryReq) (resp []ItemHistoryResp, err error) {
  30. url := fmt.Sprintf("http://%s/api/dtgateway/v1/item-history/info", d.ServerIp)
  31. h := httplib.Get(url)
  32. h.Param("project_id", req.ProjectId)
  33. h.Param("item_name", req.ItemName)
  34. h.Param("stime", req.Stime)
  35. h.Param("etime", req.Etime)
  36. body, err := d.RequestMiddleProcess(h, req.ProjectId)
  37. if err != nil {
  38. log.Println("GetItemHistory RequestMiddleProcess Error:", err)
  39. return
  40. }
  41. result := &ItemHistoryBody{}
  42. err = json.Unmarshal(body, &result)
  43. if err != nil {
  44. log.Println("GetItemHistory Unmarshal Error:", err)
  45. return
  46. }
  47. if result.Code != 200 {
  48. err = errors.New(result.Msg)
  49. return
  50. }
  51. resp = result.Data.List
  52. return
  53. }