Эх сурвалжийг харах

fix:新增路透需要频度字段

Roc 1 жил өмнө
parent
commit
63ce7af014

+ 2 - 2
controllers/base_from_lt.go

@@ -43,7 +43,7 @@ func (this *LtController) Add() {
 	cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
-		dataItem, err := services.GetEdbDataFromLt(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE, "")
+		dataItem, err := services.GetEdbDataFromLt(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE, req.Frequency, "")
 		if err != nil {
 			br.Msg = "获取指标信息失败!"
 			br.ErrMsg = "获取指标信息失败 GetEdbDataFromLt,Err:" + err.Error()
@@ -112,7 +112,7 @@ func (this *LtController) Refresh() {
 		return
 	}
 
-	dataItem, err := services.GetEdbDataFromLt(req.EdbCode, utils.GetEdbRefreshStartDate(req.StartDate), utils.BASE_END_DATE, edbInfo.TerminalCode)
+	dataItem, err := services.GetEdbDataFromLt(req.EdbCode, utils.GetEdbRefreshStartDate(req.StartDate), utils.BASE_END_DATE, edbInfo.Frequency, edbInfo.TerminalCode)
 	if err != nil {
 		br.Msg = "获取指标信息失败!"
 		br.ErrMsg = "获取指标信息失败 GetEdbDataFromLt,Err:" + err.Error()

+ 1 - 0
models/edb_data_base.go

@@ -46,6 +46,7 @@ type AddEdbInfoReq struct {
 	EdbCode   string `description:"指标编码"`
 	Source    int    `description:"指标来源ID"`
 	StockCode string `description:"证券代码"`
+	Frequency string `description:"频度"`
 }
 
 // GetEdbInfoCountByCondition 获取指标数量

+ 17 - 3
services/base_from_lt.go

@@ -14,11 +14,12 @@ type EdbDataFromLt struct {
 }
 
 // GetEdbDataFromLt 获取路透数据
-func GetEdbDataFromLt(edbCode, startDate, endDate, edbTerminalCode string) (dataList map[int64]interface{}, err error) {
+func GetEdbDataFromLt(edbCode, startDate, endDate, frequency, edbTerminalCode string) (dataList map[int64]interface{}, err error) {
 	/*if utils.Hz_LT_Data_Url == `` {
 		err = errors.New("路透社接口未配置")
 		return
 	}*/
+
 	terminal, err := GetTerminal(utils.DATA_SOURCE_LT, edbTerminalCode)
 	if err != nil {
 		err = fmt.Errorf("获取路透社接口配置出错 Err: %s", err)
@@ -33,9 +34,22 @@ func GetEdbDataFromLt(edbCode, startDate, endDate, edbTerminalCode string) (data
 		terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + edbCode
 		_ = utils.Rc.Put(terminalCodeCacheKey, terminal.TerminalCode, utils.GetTodayLastSecond())
 	}
+	//'tick','minute',"hour','daily','weekly', 'monthly','quarterly', 'yearly'(Default 'daily')
+	ltFrequency := `daily`
+	switch frequency {
+	case "周度":
+		ltFrequency = `weekly`
+	case "月度":
+		ltFrequency = `monthly`
+	case "季度":
+		ltFrequency = `quarterly`
+	case "年度":
+		ltFrequency = `yearly`
+	}
+
 	dataList = make(map[int64]interface{})
-	ltUrl := terminal.ServerUrl + `edbInfo/ek?EdbCode=%s&StartDate=%s&EndDate=%s`
-	ltUrl = fmt.Sprintf(ltUrl, edbCode, startDate, endDate)
+	ltUrl := terminal.ServerUrl + `edbInfo/ek?EdbCode=%s&StartDate=%s&EndDate=%s&Frequency=%s`
+	ltUrl = fmt.Sprintf(ltUrl, edbCode, startDate, endDate, ltFrequency)
 	utils.FileLog.Info("ltUrl:%s", ltUrl)
 	body, err := http.Get(ltUrl)
 	utils.FileLog.Info("lt result:%s", string(body))