Ver código fonte

回撤修改

xyxie 1 ano atrás
pai
commit
5d8ebb1cc3
2 arquivos alterados com 53 adições e 103 exclusões
  1. 42 73
      controllers/base_from_wind.go
  2. 11 30
      models/base_from_wind.go

+ 42 - 73
controllers/base_from_wind.go

@@ -83,48 +83,30 @@ func (this *WindController) Add() {
 			return
 		}
 
-		// 判断是否调用桥接服务
-		windBridgeUrl, _ := services.GetWindBridgeUrl()
-		if windBridgeUrl != "" {
-			windUrl = windBridgeUrl
-		}
-
 		// 设置指标与终端关系的缓存
 		windUrlCacheKey := utils.CACHE_WIND_URL + ":" + req.EdbCode
 		_ = utils.Rc.SetNX(windUrlCacheKey, windUrl, utils.GetTodayLastSecond())
 
-		var dataList []*models.EdbDataFromWindSimple
-
-		if windBridgeUrl != "" {
-			var errMsg string
-			dataList, err, errMsg = services.GetEdbDataFromBridge(windUrl, req, endDate)
-			if err != nil {
-				br.Msg = "获取指标信息失败!"
-				br.ErrMsg = "获取桥接服务指标信息失败,Err:" + errMsg + err.Error()
-				return
-			}
-		} else {
-			dataItem, errCode, err := services.GetEdbDataFromWindUrl(windUrl, 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 = "指标超限!"
-				return
-			}
-			// 指标下架
-			if errCode == services.WindNoAuthCode {
-				br.Ret = 4052
-				br.Msg = "指标已下架"
-				return
-			}
-			if err != nil {
-				br.Msg = "获取指标信息失败!"
-				br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
-				return
-			}
-			dataList = models.DealWindData(dataItem)
+		//windUrl = utils.Hz_Wind_Data_Url_LIST[1].Url
+		dataItem, errCode, err := services.GetEdbDataFromWindUrl(windUrl, 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 = "指标超限!"
+			return
+		}
+		// 指标下架
+		if errCode == services.WindNoAuthCode {
+			br.Ret = 4052
+			br.Msg = "指标已下架"
+			return
 		}
-		err = models.AddEdbDataFromWind(req.EdbCode, dataList)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
+			return
+		}
+		err = models.AddEdbDataFromWind(req.EdbCode, dataItem)
 		if err != nil {
 			br.Msg = "获取指标信息失败!"
 			br.ErrMsg = "获取指标信息失败 AddEdbDataFromWind,Err:" + err.Error()
@@ -196,45 +178,32 @@ func (this *WindController) Refresh() {
 	if strings.Contains(req.EdbCode, ".") {
 		endDate = time.Now().Format(utils.FormatDate)
 	}
-	// 判断是否调用桥接服务
-	windBridgeUrl, _ := services.GetWindBridgeJYUrl()
-	var dataList []*models.EdbDataFromWindSimple
-	if windBridgeUrl != "" && windBridgeUrl == edbInfo.ServerUrl {
-		var errMsg string
-		dataList, err, errMsg = services.RefreshEdbDataFromWindBridge(edbInfo.ServerUrl, req, edbInfo, endDate)
-		if err != nil {
-			br.Msg = "获取指标信息失败!"
-			br.ErrMsg = "获取桥接服务指标信息失败,Err:" + errMsg + err.Error()
-			return
-		}
-	} else {
-		dataItem, errCode, err := services.GetEdbDataFromWindUrl(edbInfo.ServerUrl, req.EdbCode, req.StartDate, endDate)
-		if errCode == 421 { //指标超限
-			br.Ret = 421
-			br.Msg = "指标超限!"
-			return
-		}
-		// 忽略掉指标下架的错误, 并更新指标为停止更新
-		if errCode == services.WindNoAuthCode {
-			edbInfo.NoUpdate = 1
-			edbInfo.ModifyTime = time.Now().Local()
-			if e := edbInfo.Update([]string{"NoUpdate", "ModifyTime"}); e != nil {
-				br.Msg = "刷新失败"
-				br.ErrMsg = "更新wind指标停更失败, Err: " + e.Error()
-				return
-			}
-			br.Ret = 200
-			br.Msg = "操作成功"
-			return
-		}
-		if err != nil {
-			br.Msg = "获取指标信息失败!"
-			br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
+
+	dataItem, errCode, err := services.GetEdbDataFromWindUrl(edbInfo.ServerUrl, req.EdbCode, req.StartDate, endDate)
+	if errCode == 421 { //指标超限
+		br.Ret = 421
+		br.Msg = "指标超限!"
+		return
+	}
+	// 忽略掉指标下架的错误, 并更新指标为停止更新
+	if errCode == services.WindNoAuthCode {
+		edbInfo.NoUpdate = 1
+		edbInfo.ModifyTime = time.Now().Local()
+		if e := edbInfo.Update([]string{"NoUpdate", "ModifyTime"}); e != nil {
+			br.Msg = "刷新失败"
+			br.ErrMsg = "更新wind指标停更失败, Err: " + e.Error()
 			return
 		}
-		dataList = models.DealWindData(dataItem)
+		br.Ret = 200
+		br.Msg = "操作成功"
+		return
+	}
+	if err != nil {
+		br.Msg = "获取指标信息失败!"
+		br.ErrMsg = "获取指标信息失败 GetEdbDataFromWind,Err:" + err.Error()
+		return
 	}
-	err = models.RefreshEdbDataFromWind(req.EdbInfoId, req.EdbCode, req.StartDate, dataList)
+	err = models.RefreshEdbDataFromWind(req.EdbInfoId, req.EdbCode, req.StartDate, dataItem)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "刷新指标信息失败!"
 		br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromWind,Err:" + err.Error()

+ 11 - 30
models/base_from_wind.go

@@ -16,36 +16,20 @@ type EdbDataFromWind struct {
 	ErrMsg    string
 }
 
-type EdbDataFromWindSimple struct {
-	Val          string
-	DateTime     string
-	TimestampStr string
-}
+func AddEdbDataFromWind(edbCode string, item *EdbDataFromWind) (err error) {
+	o := orm.NewOrm()
 
-func DealWindData(item *EdbDataFromWind) (list []*EdbDataFromWindSimple) {
+	var isAdd bool
+	addSql := ` INSERT INTO edb_data_wind(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
 	for k, v := range item.Dt {
 		timeStr := fmt.Sprintf("%d", v)
 		v = v / 1000
 		t := time.Unix(v, 0)
 		dateTime := t.Format(utils.FormatDate)
 		val := item.Close[k]
-		saveVal := utils.SubFloatToString(val, 30)
-		tmp := &EdbDataFromWindSimple{
-			Val:          saveVal,
-			DateTime:     dateTime,
-			TimestampStr: timeStr,
-		}
-		list = append(list, tmp)
-	}
-	return
-}
+		saveVal := utils.SubFloatToString(val, 20)
+		addSql += GetAddSql("0", edbCode, dateTime, timeStr, saveVal)
 
-func AddEdbDataFromWind(edbCode string, dataList []*EdbDataFromWindSimple) (err error) {
-	o := orm.NewOrm()
-	var isAdd bool
-	addSql := ` INSERT INTO edb_data_wind(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
-	for _, v := range dataList {
-		addSql += GetAddSql("0", edbCode, v.DateTime, v.TimestampStr, v.Val)
 		isAdd = true
 	}
 
@@ -60,7 +44,7 @@ func AddEdbDataFromWind(edbCode string, dataList []*EdbDataFromWindSimple) (err
 }
 
 // RefreshEdbDataFromWind 刷新wind指标数据
-func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, dataList []*EdbDataFromWindSimple) (err error) {
+func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, item *EdbDataFromWind) (err error) {
 	o := orm.NewOrm()
 	source := utils.DATA_SOURCE_WIND
 
@@ -100,19 +84,16 @@ func RefreshEdbDataFromWind(edbInfoId int, edbCode, startDate string, dataList [
 	var isAdd bool
 	addMap := make(map[string]string)
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
-	for _, v := range dataList {
-		/*timeStr := fmt.Sprintf("%d", v)
+	for k, v := range item.Dt {
+		timeStr := fmt.Sprintf("%d", v)
 		v = v / 1000
 		t := time.Unix(v, 0)
 		dateTime := t.Format(utils.FormatDate)
 		t, _ = time.ParseInLocation(utils.FormatDate, dateTime, time.Local) // 这里的目的是为了处理成北京时间,所以多转一遍
 
 		val := item.Close[k]
-		saveVal := utils.SubFloatToString(val, 30)*/
-		timeStr := v.TimestampStr
-		saveVal := v.Val
-		dateTime := v.DateTime
-		t, _ := time.ParseInLocation(utils.FormatDate, v.DateTime, time.Local)
+		saveVal := utils.SubFloatToString(val, 30)
+
 		//如果传入的开始时间是空的,且当前数据日期早于传入的开始日期,那么需要判断下当前日期的数据是否存在
 		if !startDateTime.IsZero() && t.Before(startDateTime) {
 			tmpItem, tmpErr := GetEdbDataByDate(source, edbCode, dateTime)