123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- package services
- import (
- "encoding/json"
- "eta/eta_index_lib/models"
- "eta/eta_index_lib/services/alarm_msg"
- "eta/eta_index_lib/utils"
- "fmt"
- "github.com/rdlucklib/rdluck_tools/http"
- )
- func GetEdbDataFromWindWsd(securitiesCode, edbCode, startDate, endDate string) (item *models.EdbDataFromWind, errorCode int, err error) {
- windUrl, err := GetWindUrl(edbCode)
- if err != nil {
- errorCode = 421
- go alarm_msg.SendAlarmMsg(fmt.Sprintf("获取wind服务器地址失败,err:%s", err.Error()), 3)
- return
- }
- thsUrl := windUrl + `edbInfo/wind?EdbCode=%s&StartDate=%s&EndDate=%s`
- thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
- utils.FileLog.Info(fmt.Sprintf("windUrl:%s", thsUrl))
- body, err := http.Get(thsUrl)
- fmt.Println("GetEdbDataByWind body:")
- fmt.Println(string(body))
- utils.FileLog.Info(fmt.Sprint("指标编码:", edbCode, ";wind result:", string(body)))
- if err != nil {
- return
- }
- item = new(models.EdbDataFromWind)
- err = json.Unmarshal(body, &item)
-
- if len(item.ErrorCode) > 0 {
- if item.ErrorCode["0"] != 0 {
- if item.ErrorCode["0"] == -40522017 {
-
-
-
-
-
-
-
-
-
-
-
-
- SetIsLimitEdbCodeInWindUrl(windUrl)
- err = DeleteEdbCodeInWindUrl(edbCode)
- if err != nil {
- return
- }
- return GetEdbDataFromWind(edbCode, startDate, endDate)
- } else if item.ErrorCode["0"] == -40520005 {
-
-
- SetIsLimitEdbCodeInWindUrl(windUrl)
- err = DeleteEdbCodeInWindUrl(edbCode)
- if err != nil {
- return
- }
- go alarm_msg.SendAlarmMsg(fmt.Sprintf("wind数据服务异常,edbCode:%s,ErrorCode:%d,result:%s", edbCode, item.ErrorCode["0"], string(body)), 3)
- return GetEdbDataFromWind(edbCode, startDate, endDate)
- } else if item.ErrorCode["0"] == WindNoAuthCode {
-
- return nil, WindNoAuthCode, nil
- } else {
- go alarm_msg.SendAlarmMsg(fmt.Sprintf("wind数据服务异常,edbCode:%s,ErrorCode:%d,result:%s", edbCode, item.ErrorCode["0"], string(body)), 3)
- }
- }
- }
- return
- }
- func GetEdbDataFromWindUrlWsd(windUrl, stockCode, edbCode, startDate, endDate string) (item map[string]map[string]interface{}, errorCode int, err error) {
- requestWindUrl := windUrl + `edbInfo/wind/wsd?StockCode=%s&EdbCode=%s&StartDate=%s&EndDate=%s`
- requestWindUrl = fmt.Sprintf(requestWindUrl, stockCode, edbCode, startDate, endDate)
- utils.FileLog.Info(fmt.Sprintf("windUrl:%s", requestWindUrl))
- body, err := http.Get(requestWindUrl)
- utils.FileLog.Info(fmt.Sprint("wind result:", string(body)))
- err = json.Unmarshal(body, &item)
- return
- }
|