multi_add.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 ItemHistoryData struct {
  10. ProjectId int `json:"project_id"`
  11. ItemName string `json:"item_name"`
  12. Val float64 `json:"val"`
  13. HTime string `json:"h_time"`
  14. }
  15. type MultiAddReq struct {
  16. List []ItemHistoryData `json:"list"`
  17. }
  18. type MultiAddBody struct {
  19. Code int `json:"code"`
  20. Msg string `json:"msg"`
  21. }
  22. func (d *DcApiClient) MultiAddData (req MultiAddReq) (err error) {
  23. if len(req.List) == 0 {
  24. return errors.New("无可插入数据")
  25. }
  26. url := fmt.Sprintf("http://%s/api/dtgateway/v1/item-history/multi-add", d.ServerIp)
  27. h := httplib.Post(url)
  28. _, err = h.JSONBody(req)
  29. if err != nil {
  30. return
  31. }
  32. body, err := d.RequestMiddleProcess(h, fmt.Sprintf("%d", req.List[0].ProjectId))
  33. if err != nil {
  34. log.Println("GetItemHistory Error:", err)
  35. return
  36. }
  37. result := &ItemHistoryBody{}
  38. err = json.Unmarshal(body, &result)
  39. if err != nil {
  40. log.Println("GetItemHistory Error:", err)
  41. return
  42. }
  43. if result.Code != 200 {
  44. err = errors.New(result.Msg)
  45. return
  46. }
  47. return
  48. }