base_from_lt.go 1005 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package services
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "eta/eta_index_lib/utils"
  6. "fmt"
  7. "github.com/rdlucklib/rdluck_tools/http"
  8. )
  9. type EdbDataFromLt struct {
  10. Close map[int64]interface{} `json:"CLOSE"`
  11. Value map[int64]interface{} `json:"VALUE"`
  12. }
  13. // GetEdbDataFromLt 获取路透数据
  14. func GetEdbDataFromLt(edbCode, startDate, endDate string) (dataList map[int64]interface{}, err error) {
  15. if utils.Hz_LT_Data_Url == `` {
  16. err = errors.New("路透社接口未配置")
  17. return
  18. }
  19. dataList = make(map[int64]interface{})
  20. ltUrl := utils.Hz_LT_Data_Url + `edbInfo/ek?EdbCode=%s&StartDate=%s&EndDate=%s`
  21. ltUrl = fmt.Sprintf(ltUrl, edbCode, startDate, endDate)
  22. utils.FileLog.Info("ltUrl:%s", ltUrl)
  23. body, err := http.Get(ltUrl)
  24. utils.FileLog.Info("lt result:%s", string(body))
  25. if err != nil {
  26. return
  27. }
  28. item := new(EdbDataFromLt)
  29. err = json.Unmarshal(body, &item)
  30. if err != nil {
  31. return
  32. }
  33. if len(item.Close) > 0 {
  34. dataList = item.Close
  35. } else {
  36. dataList = item.Value
  37. }
  38. return
  39. }