|
@@ -11,9 +11,10 @@ import (
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
- PCSGBloombergPythonApiDaily = "/api/bloomberg/daily_data"
|
|
|
- PCSGBloombergPythonApiWeekly = "/api/bloomberg/weekly_data"
|
|
|
- PCSGBloombergPythonApiMonthly = "/api/bloomberg/monthly_data"
|
|
|
+ PCSGBloombergPythonApiDaily = "/api/bloomberg/daily_data"
|
|
|
+ PCSGBloombergPythonApiWeekly = "/api/bloomberg/weekly_data"
|
|
|
+ PCSGBloombergPythonApiMonthly = "/api/bloomberg/monthly_data"
|
|
|
+ PCSGBloombergPythonApiDailyRun3 = "/api/bloomberg/daily_data_run3"
|
|
|
)
|
|
|
|
|
|
// GetPCSGBloombergDailyIndex 获取彭博日度指标
|
|
@@ -76,6 +77,26 @@ func GetPCSGBloombergMonthlyIndex() (indexes []pcsg.BaseFromBloombergApiIndexAnd
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// GetPCSGBloombergDailyIndexRun3 获取彭博日度指标(Run3)
|
|
|
+func GetPCSGBloombergDailyIndexRun3() (indexes []pcsg.BaseFromBloombergApiIndexAndData, err error) {
|
|
|
+ apiData, e := CurlPCSGBloombergDailyRun3Api()
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetPCSGBloombergDailyIndexRun3 err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(apiData) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ frequency := "日度"
|
|
|
+ for _, v := range apiData {
|
|
|
+ t := pcsg.FormatPythonBloombergGeneralData2Base(v, frequency)
|
|
|
+ if t.IndexCode != "" {
|
|
|
+ indexes = append(indexes, t)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// CurlPCSGBloombergDailyApi 请求日度指标接口
|
|
|
func CurlPCSGBloombergDailyApi() (resultData []pcsg.PythonBloombergGeneralData, err error) {
|
|
|
if global.CONFIG.PCSG.BloombergApiUrl == "" {
|
|
@@ -189,3 +210,41 @@ func CurlPCSGBloombergMonthlyApi() (resultData []pcsg.PythonBloombergGeneralData
|
|
|
resultData = result.Data
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// CurlPCSGBloombergDailyRun3Api 请求日度指标(Run3)接口
|
|
|
+func CurlPCSGBloombergDailyRun3Api() (resultData []pcsg.PythonBloombergGeneralData, err error) {
|
|
|
+ if global.CONFIG.PCSG.BloombergApiUrl == "" {
|
|
|
+ err = fmt.Errorf("服务地址为空")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ url := fmt.Sprint(global.CONFIG.PCSG.BloombergApiUrl, PCSGBloombergPythonApiDailyRun3)
|
|
|
+
|
|
|
+ resp, e := http.Post(url, "application/json", bytes.NewBuffer([]byte("")))
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("http post err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ b, e := ioutil.ReadAll(resp.Body)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("resp body read err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(b) == 0 {
|
|
|
+ err = fmt.Errorf("resp body is empty")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(pcsg.PythonBloombergGeneralResult)
|
|
|
+ if e = json.Unmarshal(b, &result); e != nil {
|
|
|
+ err = fmt.Errorf("result unmarshal err: %s\nresult: %s", e.Error(), string(b))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Code != 200 {
|
|
|
+ err = fmt.Errorf("result: %s", string(b))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resultData = result.Data
|
|
|
+ return
|
|
|
+}
|