abtest.go 851 B

1234567891011121314151617181920212223242526272829303132
  1. package abtest
  2. import (
  3. "context"
  4. "fmt"
  5. "net/url"
  6. "go-common/app/service/main/resource/model"
  7. "go-common/library/log"
  8. )
  9. // AbTest get abtest data from data-platform.
  10. func (d *Dao) AbTest(c context.Context, names, ipaddr string) (adr []*model.AbTest, err error) {
  11. params := url.Values{}
  12. params.Set("groupNames", names)
  13. var res struct {
  14. Code int `json:"code"`
  15. Data []*model.AbTest `json:"expItems"`
  16. Msg string `json:"msg"`
  17. }
  18. if err = d.httpClient.Get(c, d.testURL, ipaddr, params, &res); err != nil {
  19. log.Error("AbTest url(%s) error(%v)", d.testURL+"?"+params.Encode(), err)
  20. return
  21. }
  22. if res.Code != 0 {
  23. err = fmt.Errorf("AbTest api failed(%d)", res.Code)
  24. log.Error("CpmsApp url(%s) res code(%d) or res.data(%v)", d.testURL+"?"+params.Encode(), res.Code, res.Data)
  25. return
  26. }
  27. adr = res.Data
  28. return
  29. }