1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package data_manage
- import (
- "encoding/json"
- "fmt"
- "hongze/hongze_task/models/data_manage"
- "hongze/hongze_task/utils"
- "rdluck_tools/http"
- "time"
- )
- type EdbDataFromWind struct {
- Close map[string]float64 `json:"CLOSE"`
- Dt map[string]int64 `json:"DT"`
- }
- //万得
- func SyncEdbDataByWind(edbInfoId int64, edbCode, startDate, endDate string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("GetEdbDataByWind Err:" + err.Error())
- }
- }()
- windUrl := utils.Hz_Data_Url + `edbInfo/wind?EdbCode=%s&StartDate=%s&EndDate=%s`
- windUrl = fmt.Sprintf(windUrl, edbCode, startDate, endDate)
- utils.FileLog.Info("thsUrl:%s", windUrl)
- body, err := http.Get(windUrl)
- fmt.Println(windUrl)
- fmt.Println("SyncEdbDataByWind body:")
- fmt.Println(string(body))
- utils.FileLog.Info("wind %s", string(body))
- if err != nil {
- return
- }
- item := new(EdbDataFromWind)
- err = json.Unmarshal(body, &item)
- if err != nil {
- return
- }
- windList := make([]*data_manage.EdbDataWind, 0)
- for k, v := range item.Dt {
- v = v / 1000
- fmt.Println(k, v)
- t := time.Unix(v, 0)
- dateTime := t.Format(utils.FormatDate)
- fmt.Println(dateTime)
- val := item.Close[k]
- count, err := data_manage.GetEdbDataWindCount(edbCode, dateTime)
- if err != nil {
- return err
- }
- if count > 0 {
- err = data_manage.ModifyEdbDataWind(edbInfoId,edbCode, dateTime, val)
- if err != nil {
- return err
- }
- } else {
- item := new(data_manage.EdbDataWind)
- item.EdbCode = edbCode
- item.EdbInfoId = int(edbInfoId)
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- item.DataTime = dateTime
- item.Value = val
- item.Status = 1
- windList = append(windList, item)
- }
- }
- if len(windList) > 0 {
- err = data_manage.AddEdbDataWind(windList)
- if err != nil {
- return
- }
- }
- return
- }
|