obtain_range_max_min.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 RangeMaxMinReq struct {
  10. ProjectId string
  11. ItemName string
  12. Stime string
  13. Etime string
  14. }
  15. type RangeMaxMinResp struct {
  16. Code int `json:"code"`
  17. Msg string `json:"msg"`
  18. Data *InstrumentCompareData `json:"data"`
  19. }
  20. type InstrumentCompareData struct {
  21. Max float64 `json:"max_val"`
  22. Min float64 `json:"min_val"`
  23. }
  24. func (d *DcApiClient) ObtainRangeMaxMin (req *RangeMaxMinReq) (resp *InstrumentCompareData, err error) {
  25. url := fmt.Sprintf("http://%s/api/dtgateway/v1/item-history/max-min", d.ServerIp)
  26. h := httplib.Get(url)
  27. h.Param("project_id", req.ProjectId)
  28. h.Param("item_name", req.ItemName)
  29. h.Param("stime", req.Stime)
  30. h.Param("etime", req.Etime)
  31. body, err := d.RequestMiddleProcess(h, req.ProjectId)
  32. if err != nil {
  33. log.Println("ObtainRangeMaxMin Error:", err)
  34. return
  35. }
  36. result := &RangeMaxMinResp{}
  37. err = json.Unmarshal(body, &result)
  38. if err != nil {
  39. log.Println("ObtainRangeMaxMin Error:", err)
  40. return
  41. }
  42. if result.Code != 200 {
  43. err = errors.New(result.Msg)
  44. return
  45. }
  46. resp = result.Data
  47. return
  48. }