trade_cffex.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package services
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hongze/hongze_task_trial/models/data_manage"
  6. "hongze/hongze_task_trial/utils"
  7. "time"
  8. )
  9. // 中金交易所持单排名
  10. func SyncRankingFromCffex() (err error) {
  11. startDate := time.Now().Format(utils.FormatDate) + " 00:00:00"
  12. method := `index/list`
  13. data := make(map[string]interface{})
  14. data["Source"] = utils.DATA_SOURCE_CFFEX
  15. data["StartDate"] = startDate
  16. //data["EndDate"] = endDate
  17. bytesData, _ := json.Marshal(data)
  18. result, err := HttpPost(method, bytesData)
  19. utils.FileLog.Info(result)
  20. fmt.Println(result)
  21. respObj := new(data_manage.CffexIndexResp)
  22. err = json.Unmarshal([]byte(result), &respObj)
  23. if err != nil {
  24. return err
  25. }
  26. //获取所有指标信息 某一天的
  27. allIndex, err := data_manage.GetBaseFromTradeCffexIndexAll(startDate)
  28. if err != nil {
  29. return
  30. }
  31. existIndexMap := make(map[int]*data_manage.BaseFromTradeCffexIndex)
  32. for _, v := range allIndex {
  33. existIndexMap[v.BaseFromTradeCffexIndexId] = v
  34. }
  35. for _, zv := range respObj.Data {
  36. if _, ok := existIndexMap[zv.BaseFromTradeCffexIndexId]; !ok {
  37. newID, err := data_manage.AddBaseFromTradeCffexIndex(zv)
  38. if err != nil {
  39. fmt.Println("insert error:", err)
  40. }
  41. fmt.Println("insert new indexID:", newID)
  42. }
  43. }
  44. return err
  45. }