|
@@ -5,44 +5,16 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-// PythonBloombergDailyPriceData 日度-价格数据
|
|
|
-type PythonBloombergDailyPriceData struct {
|
|
|
- IDENTIFIER string `json:"IDENTIFIER" description:"指标编码"`
|
|
|
- PX_YEST_CLOSE float64 `json:"PX_YEST_CLOSE" description:"数据值"`
|
|
|
- PX_CLOSE_DT string `json:"PX_CLOSE_DT" description:"数据日期"`
|
|
|
- NAME string `json:"NAME" description:"指标名称"`
|
|
|
-}
|
|
|
-
|
|
|
-// PythonBloombergGeneralData 通用数据
|
|
|
+// PythonBloombergGeneralData 通用数据格式
|
|
|
type PythonBloombergGeneralData struct {
|
|
|
- IDENTIFIER string `json:"IDENTIFIER" description:"指标编码"`
|
|
|
- NAME string `json:"NAME" description:"指标名称"`
|
|
|
- PX_LAST float64 `json:"PX_LAST" description:"数据值"`
|
|
|
- LAST_UPDATE_DT string `json:"LAST_UPDATE_DT" description:"数据日期"`
|
|
|
-}
|
|
|
-
|
|
|
-// PythonBloombergDailyResult 日度指标API响应体
|
|
|
-type PythonBloombergDailyResult struct {
|
|
|
- Code int `json:"code"`
|
|
|
- Msg string `json:"msg"`
|
|
|
- Data PythonBloombergDailyResultData `json:"data"`
|
|
|
-}
|
|
|
-
|
|
|
-// PythonBloombergDailyResultData 日度指标API响应数据
|
|
|
-type PythonBloombergDailyResultData struct {
|
|
|
- PriceData []PythonBloombergDailyPriceData `json:"price_data" description:"价格数据"`
|
|
|
- GeneralData []PythonBloombergGeneralData `json:"general_data" description:"一般数据"`
|
|
|
-}
|
|
|
-
|
|
|
-// PythonBloombergWeeklyResult 周度指标API响应体
|
|
|
-type PythonBloombergWeeklyResult struct {
|
|
|
- Code int `json:"code"`
|
|
|
- Msg string `json:"msg"`
|
|
|
- Data []PythonBloombergGeneralData `json:"data"`
|
|
|
+ IDENTIFIER string `json:"IDENTIFIER" description:"指标编码"`
|
|
|
+ PX_LAST_EOD *float64 `json:"PX_LAST_EOD" description:"数据值, 可能为null"`
|
|
|
+ LAST_UPDATE_DATE_EOD string `json:"LAST_UPDATE_DATE_EOD" description:"数据日期, 可能为null"`
|
|
|
+ NAME string `json:"NAME" description:"指标名称, 可能为null"`
|
|
|
}
|
|
|
|
|
|
-// PythonBloombergMonthlyResult 月度指标API响应体
|
|
|
-type PythonBloombergMonthlyResult struct {
|
|
|
+// PythonBloombergGeneralResult API响应体
|
|
|
+type PythonBloombergGeneralResult struct {
|
|
|
Code int `json:"code"`
|
|
|
Msg string `json:"msg"`
|
|
|
Data []PythonBloombergGeneralData `json:"data"`
|
|
@@ -67,23 +39,6 @@ type BaseFromBloombergApiIndexData struct {
|
|
|
Value float64 `description:"数据值"`
|
|
|
}
|
|
|
|
|
|
-func FormatPythonBloombergDailyPriceData2Base(origin PythonBloombergDailyPriceData) (item BaseFromBloombergApiIndexAndData) {
|
|
|
- if origin.IDENTIFIER == "" {
|
|
|
- return
|
|
|
- }
|
|
|
- item.IndexCode = strings.TrimSpace(origin.IDENTIFIER)
|
|
|
- item.IndexName = strings.TrimSpace(origin.NAME)
|
|
|
- item.Frequency = "日度"
|
|
|
- item.Unit = "无"
|
|
|
- item.Data = make([]BaseFromBloombergApiIndexData, 0)
|
|
|
- t, _ := time.ParseInLocation(time.DateOnly, origin.PX_CLOSE_DT, time.Local)
|
|
|
- item.Data = append(item.Data, BaseFromBloombergApiIndexData{
|
|
|
- DataTime: t,
|
|
|
- Value: origin.PX_YEST_CLOSE,
|
|
|
- })
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
func FormatPythonBloombergGeneralData2Base(origin PythonBloombergGeneralData, frequency string) (item BaseFromBloombergApiIndexAndData) {
|
|
|
if origin.IDENTIFIER == "" {
|
|
|
return
|
|
@@ -93,10 +48,13 @@ func FormatPythonBloombergGeneralData2Base(origin PythonBloombergGeneralData, fr
|
|
|
item.Frequency = frequency
|
|
|
item.Unit = "无"
|
|
|
item.Data = make([]BaseFromBloombergApiIndexData, 0)
|
|
|
- t, _ := time.ParseInLocation(time.DateOnly, origin.LAST_UPDATE_DT, time.Local)
|
|
|
- item.Data = append(item.Data, BaseFromBloombergApiIndexData{
|
|
|
- DataTime: t,
|
|
|
- Value: origin.PX_LAST,
|
|
|
- })
|
|
|
+ // 值可能为nil
|
|
|
+ if origin.LAST_UPDATE_DATE_EOD != "" && origin.PX_LAST_EOD != nil {
|
|
|
+ t, _ := time.ParseInLocation(time.DateOnly, origin.LAST_UPDATE_DATE_EOD, time.Local)
|
|
|
+ item.Data = append(item.Data, BaseFromBloombergApiIndexData{
|
|
|
+ DataTime: t,
|
|
|
+ Value: *origin.PX_LAST_EOD,
|
|
|
+ })
|
|
|
+ }
|
|
|
return
|
|
|
}
|