12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package data_manage
- import (
- "encoding/json"
- "fmt"
- "hongze/hongze_task/models/data_manage"
- "hongze/hongze_task/utils"
- "rdluck_tools/http"
- "time"
- )
- type EdbDataFromPb struct {
- Date map[string]int64 `json:"date"`
- Ticker map[string]string `json:"ticker"`
- Field map[string]string `json:"field"`
- Value map[string]float64 `json:"value"`
- }
- //万得
- func SyncEdbDataByPb(edbInfoId int64, edbCode, startDate, endDate string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("SyncEdbDataByPb Err:" + err.Error())
- }
- }()
- pbUrl := utils.Hz_Data_PB_Url + `edbInfo/pb?EdbCode=%s&StartDate=%s&EndDate=%s`
- pbUrl = fmt.Sprintf(pbUrl, edbCode, startDate, endDate)
- utils.FileLog.Info("pbUrl:%s", pbUrl)
- body, err := http.Get(pbUrl)
- fmt.Println(pbUrl)
- fmt.Println("SyncEdbDataByPb body:")
- fmt.Println(string(body))
- utils.FileLog.Info("pb %s", string(body))
- if err != nil {
- return
- }
- item := new(EdbDataFromPb)
- err = json.Unmarshal(body, &item)
- if err != nil {
- return
- }
- pbList := make([]*data_manage.EdbDataPb, 0)
- if len(item.Date) > 0 {
- dateMap := item.Date
- for k, v := range dateMap {
- v = v / 1000
- t := time.Unix(v, 0)
- dateTime := t.Format(utils.FormatDate)
- val := item.Value[k]
- field := item.Field[k]
- ticker := item.Ticker[k]
- count, err := data_manage.GetEdbDataPbCount(edbInfoId, dateTime)
- if err != nil {
- return err
- }
- if count > 0 {
- err = data_manage.ModifyEdbDataPb(edbInfoId, dateTime, val)
- if err != nil {
- return err
- }
- } else {
- item := new(data_manage.EdbDataPb)
- item.EdbCode = edbCode
- item.EdbInfoId = int(edbInfoId)
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- item.DataTime = dateTime
- item.Value = val
- item.Status = 1
- item.Field=field
- item.Ticker=ticker
- pbList = append(pbList, item)
- }
- }
- }
- if len(pbList) > 0 {
- err = data_manage.AddEdbDataPb(pbList)
- if err != nil {
- return
- }
- }
- return
- }
|