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

新增wind wsd数据库

# Conflicts:
#	controllers/base_from_wind.go
#	controllers/base_from_wind_wsd.go
tuoling805 1 жил өмнө
parent
commit
f290b7926d

+ 17 - 0
controllers/base_from_wind.go

@@ -87,6 +87,23 @@ func (this *WindController) Add() {
 			return
 		}
 
+		if terminalCode == `` {
+			terminalInfo, err := services.GetTerminal(utils.DATA_SOURCE_WIND, "")
+			if err != nil {
+				br.Msg = "获取可以使用的wind地址失败!"
+				br.ErrMsg = "获取可以使用的wind地址失败,err:" + err.Error()
+				return
+			}
+			windUrl = terminalInfo.ServerUrl
+			terminalCode = terminalInfo.TerminalCode
+		}
+
+		if terminalCode == `` {
+			br.Msg = "没有配置wind终端!"
+			br.ErrMsg = "没有配置wind终端"
+			return
+		}
+
 		// 设置指标与终端关系的缓存
 		windUrlCacheKey := utils.CACHE_WIND_URL + ":" + req.EdbCode
 		_ = utils.Rc.SetNX(windUrlCacheKey, windUrl, utils.GetTodayLastSecond())

+ 1 - 2
controllers/base_from_wind_wsd.go

@@ -106,7 +106,6 @@ func (this *WindWsdController) Add() {
 
 		//windUrl = utils.Hz_Wind_Data_Url_LIST[1].Url
 		dataItem, errCode, err := services.GetEdbDataFromWindUrlWsd(windUrl, req.StockCode, req.EdbCode, utils.BASE_START_DATE, endDate)
-		//dataItem, errCode, err := services.GetEdbDataFromWind(req.EdbCode, utils.BASE_START_DATE, endDate)
 		if errCode == 421 { //指标超限
 			br.Ret = 421
 			br.Msg = "指标超限!"
@@ -123,7 +122,7 @@ func (this *WindWsdController) Add() {
 			br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
 			return
 		}
-		err = models.AddEdbDataFromWindWsd(req.EdbCode, dataItem)
+		err = models.AddEdbDataFromWindWsd(req.StockCode, dataItem)
 		if err != nil {
 			br.Msg = "获取指标信息失败!"
 			br.ErrMsg = "获取指标信息失败 AddEdbDataFromWindWsd,Err:" + err.Error()

+ 7 - 2
models/base_from_wind_wsd.go

@@ -11,7 +11,7 @@ import (
 
 var windWsd = "wsd"
 
-func AddEdbDataFromWindWsd(securitiesCode string, item map[string]map[string]interface{}) (err error) {
+func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interface{}) (err error) {
 	o := orm.NewOrm()
 
 	var isAdd bool
@@ -22,17 +22,21 @@ func AddEdbDataFromWindWsd(securitiesCode string, item map[string]map[string]int
 			var indexCode string
 			wkInt, err := strconv.ParseInt(wk, 10, 64)
 			if err != nil {
+				fmt.Println("ParseInt Err:" + err.Error() + ";wk:" + wk)
 				return err
 			}
 
 			vk = strings.ToLower(vk)
-			indexCode = windWsd + securitiesCode + vk
+			indexCode = windWsd + stockCode + vk
 
 			timeStr := wk
 			wkInt = wkInt / 1000
 			t := time.Unix(wkInt, 0)
 			dateTime := t.Format(utils.FormatDate)
 			//saveVal := utils.SubFloatToString(val, 20)
+			if vv == nil {
+				continue
+			}
 			var saveVal string
 			switch vt := vv.(type) {
 			case int:
@@ -51,6 +55,7 @@ func AddEdbDataFromWindWsd(securitiesCode string, item map[string]map[string]int
 		addSql = strings.TrimRight(addSql, ",")
 		_, err = o.Raw(addSql).Exec()
 		if err != nil {
+			fmt.Println("sql exec err:" + err.Error())
 			return
 		}
 	}

+ 1 - 0
routers/router.go

@@ -35,6 +35,7 @@ func init() {
 		beego.NSNamespace("/wind",
 			beego.NSInclude(
 				&controllers.WindController{},
+				&controllers.WindWsdController{},
 			),
 		),
 		beego.NSNamespace("/lz",

+ 0 - 2
services/base_from_wind_wsd.go

@@ -80,8 +80,6 @@ func GetEdbDataFromWindUrlWsd(windUrl, securitiesCode, edbCode, startDate, endDa
 	requestWindUrl = fmt.Sprintf(requestWindUrl, securitiesCode, edbCode, startDate, endDate)
 	utils.FileLog.Info(fmt.Sprintf("windUrl:%s", requestWindUrl))
 	body, err := http.Get(requestWindUrl)
-	fmt.Println("GetEdbDataFromWindUrlWsd body:")
-	fmt.Println(string(body))
 	utils.FileLog.Info(fmt.Sprint("wind result:", string(body)))
 	err = json.Unmarshal(body, &item)
 	return