zwxi 1 jaar geleden
bovenliggende
commit
1118d2d450
3 gewijzigde bestanden met toevoegingen van 86 en 28 verwijderingen
  1. 61 28
      controllers/data_manage/edb_info.go
  2. 5 0
      models/data_manage/edb_data_base.go
  3. 20 0
      services/data/base_edb_lib.go

+ 61 - 28
controllers/data_manage/edb_info.go

@@ -161,46 +161,79 @@ func (this *EdbInfoController) EdbInfoSearch() {
 
 		searchItem := new(data_manage.EdbInfoSearch)
 		if source == utils.DATA_SOURCE_THS {
-			dataItems, err := data_manage.GetEdbDataAllByEdbCode(edbCode, utils.DATA_SOURCE_THS, subSource, utils.EDB_DATA_LIMIT)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				br.Msg = "获取失败"
-				br.ErrMsg = "获取Ths已存在信息失败,Err:" + err.Error()
-				return
-			}
-
-			fmt.Println("ths len:", len(dataItems))
-			if len(dataItems) > 0 {
-				fmt.Println("ths data exist")
-				searchItem.EdbCode = edbCode
-				minDate, maxDate, err := data_manage.GetEdbDataThsMaxOrMinDate(edbCode)
-				if err != nil {
+			fmt.Println("subSource:", subSource)
+			if subSource == utils.DATA_SUB_SOURCE_EDB {
+				dataItems, err := data_manage.GetEdbDataAllByEdbCode(edbCode, utils.DATA_SOURCE_THS, subSource, utils.EDB_DATA_LIMIT)
+				if err != nil && err.Error() != utils.ErrNoRow() {
 					br.Msg = "获取失败"
-					br.ErrMsg = "获取Ths日期信息失败,Err:" + err.Error()
+					br.ErrMsg = "获取Ths已存在信息失败,Err:" + err.Error()
 					return
 				}
-				searchItem.DataList = dataItems
-				searchItem.StartDate = minDate
-				searchItem.EndDate = maxDate
-			} else {
-				//endDate := dateNow.AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-				//searchItem, err = data.GetEdbDataByThs(edbCode, startDate, endDate)
-				//if err != nil {
-				//	br.Msg = "获取失败"
-				//	br.ErrMsg = "获取失败,Err:" + err.Error()
-				//	return
-				//}
-				respItem, err := data.AddEdbData(source, edbCode)
+
+				fmt.Println("ths len:", len(dataItems))
+				if len(dataItems) > 0 {
+					fmt.Println("ths data exist")
+					searchItem.EdbCode = edbCode
+					minDate, maxDate, err := data_manage.GetEdbDataThsMaxOrMinDate(edbCode)
+					if err != nil {
+						br.Msg = "获取失败"
+						br.ErrMsg = "获取Ths日期信息失败,Err:" + err.Error()
+						return
+					}
+					searchItem.DataList = dataItems
+					searchItem.StartDate = minDate
+					searchItem.EndDate = maxDate
+				} else {
+					//endDate := dateNow.AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
+					//searchItem, err = data.GetEdbDataByThs(edbCode, startDate, endDate)
+					//if err != nil {
+					//	br.Msg = "获取失败"
+					//	br.ErrMsg = "获取失败,Err:" + err.Error()
+					//	return
+					//}
+					respItem, err := data.AddEdbData(source, edbCode)
+					if err != nil {
+						br.Msg = "获取失败"
+						br.ErrMsg = "获取失败,Err:" + err.Error()
+						return
+					}
+					if respItem.Ret != 200 {
+						br.Msg = "未搜索到该指标"
+						br.ErrMsg = respItem.ErrMsg + ";EdbCode:" + edbCode
+						return
+					}
+					isAdd = true
+				}
+			} else if subSource == utils.DATA_SUB_SOURCE_DATE {
+				if stockCode == "" {
+					br.Msg = "请输入证券代码"
+					return
+				}
+				if edbCode == "" {
+					br.Msg = "请输入指标代码"
+					return
+				}
+				respItem, err := data.AddEdbDataThsDs(source, stockCode, edbCode)
 				if err != nil {
 					br.Msg = "获取失败"
 					br.ErrMsg = "获取失败,Err:" + err.Error()
 					return
 				}
 				if respItem.Ret != 200 {
-					br.Msg = "未搜索到该指标"
+					if respItem.Ret == 421 {
+						br.Msg = "该渠道已超过添加上限"
+					} else if respItem.Ret == 4052 {
+						br.Msg = "该指标已下架"
+					} else {
+						br.Msg = "未搜索到该指标"
+					}
 					br.ErrMsg = respItem.ErrMsg + ";EdbCode:" + edbCode
 					return
 				}
 				isAdd = true
+			} else {
+				br.Msg = "无效的渠道来源"
+				return
 			}
 		} else if source == utils.DATA_SOURCE_WIND {
 			fmt.Println("subSource:", subSource)
@@ -5027,7 +5060,7 @@ func (this *EdbInfoController) EdbInfoExistCheck() {
 		return
 	}
 
-	if source != utils.DATA_SOURCE_WIND {
+	if source != utils.DATA_SOURCE_WIND && source != utils.DATA_SOURCE_THS {
 		br.Msg = "无效的数据来源"
 		return
 	}

+ 5 - 0
models/data_manage/edb_data_base.go

@@ -12,6 +12,11 @@ func GetEdbDataTableName(source, subSource int) (tableName string) {
 	switch source {
 	case utils.DATA_SOURCE_THS:
 		tableName = "edb_data_ths"
+		if subSource == utils.DATA_SUB_SOURCE_DATE {
+			tableName = "edb_data_ths_ds"
+		} else {
+			tableName = "edb_data_ths"
+		}
 	case utils.DATA_SOURCE_WIND:
 		if subSource == utils.DATA_SUB_SOURCE_DATE {
 			tableName = "edb_data_wind_wsd"

+ 20 - 0
services/data/base_edb_lib.go

@@ -95,6 +95,21 @@ func AddEdbDataWindWsd(source int, stockCode, edbCode string) (resp *models.Base
 	return
 }
 
+// AddEdbDataThsDs 新增指标数据
+func AddEdbDataThsDs(source int, stockCode, edbCode string) (resp *models.BaseResponse, err error) {
+	param := make(map[string]interface{})
+	param["EdbCode"] = edbCode
+	param["StockCode"] = stockCode
+	param["Source"] = source
+	urlStr := `ths/ds/add`
+	if urlStr == "" {
+		err = fmt.Errorf("未实现该指标的刷新接口,请联系管理员")
+		return
+	}
+	resp, err = postRefreshEdbData(param, urlStr)
+	return
+}
+
 type AddPredictEdbDataResponse struct {
 	Ret         int
 	Msg         string
@@ -150,6 +165,11 @@ func RefreshEdbData(edbInfoId, source, subSource int, edbCode, startDate string)
 	switch source {
 	case utils.DATA_SOURCE_THS:
 		urlStr = "ths/refresh"
+		if subSource == 0 {
+			urlStr = "ths/refresh"
+		} else {
+			urlStr = "ths/ds/refresh"
+		}
 	case utils.DATA_SOURCE_WIND:
 		if subSource == 0 {
 			urlStr = "wind/refresh"