Ver código fonte

fix:wind的url获取

Roc 2 anos atrás
pai
commit
6bd46c9389
3 arquivos alterados com 41 adições e 2 exclusões
  1. 9 1
      controllers/base_from_wind.go
  2. 3 1
      models/edb_info.go
  3. 29 0
      services/base_from_wind.go

+ 9 - 1
controllers/base_from_wind.go

@@ -109,6 +109,14 @@ func (this *WindController) Refresh() {
 	if !utils.Rc.IsExist(cacheKey) {
 		utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
 
+		//获取指标信息
+		edbInfo, err := models.GetEdbInfoById(req.EdbInfoId)
+		if err != nil {
+			br.Msg = "查询指标信息失败!"
+			br.ErrMsg = "查询指标信息失败 Err:" + err.Error()
+			return
+		}
+
 		//特定的指标过滤(wind不对该指标进行更新了)
 		{
 			edbCodeArr := []string{"S6451662", "S6451679", "S6451670", "S6451671", "s6451669", "S6451693", "S6451694"}
@@ -127,7 +135,7 @@ func (this *WindController) Refresh() {
 			endDate = time.Now().Format(utils.FormatDate)
 		}
 
-		dataItem, errCode, err := services.GetEdbDataFromWind(req.EdbCode, req.StartDate, endDate)
+		dataItem, errCode, err := services.GetEdbDataFromWindUrl(edbInfo.ServerUrl, req.EdbCode, req.StartDate, endDate)
 		if errCode == 421 { //指标超限
 			br.Ret = 421
 		}

+ 3 - 1
models/edb_info.go

@@ -30,6 +30,8 @@ type EdbInfo struct {
 	Sort             int     `description:"排序字段"`
 	MoveType         int     `description:"移动方式:1:领先(默认),2:滞后"`
 	MoveFrequency    string  `description:"移动频度"`
+	NoUpdate         int8    `description:"是否停止更新,0:继续更新;1:停止更新"`
+	ServerUrl        string  `description:"服务器地址"`
 }
 
 // AddEdbInfo 添加指标
@@ -248,4 +250,4 @@ func GetEdbDataListAllV1(condition string, pars []interface{}, source, order int
 	}
 	_, err = o.Raw(sql, pars).QueryRows(&item)
 	return
-}
+}

+ 29 - 0
services/base_from_wind.go

@@ -79,6 +79,35 @@ func GetEdbDataFromWind(edbCode, startDate, endDate string) (item *EdbDataFromWi
 	return
 }
 
+// GetEdbDataFromWindUrl 通过url获取wind数据
+func GetEdbDataFromWindUrl(windUrl, edbCode, startDate, endDate string) (item *EdbDataFromWind, errorCode int, err error) {
+	if windUrl == `` {
+		return GetEdbDataFromWind(edbCode, startDate, endDate)
+	}
+
+	thsUrl := windUrl + `edbInfo/wind?EdbCode=%s&StartDate=%s&EndDate=%s`
+	thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
+	utils.FileLog.Info(fmt.Sprintf("windUrl:%s", thsUrl))
+	body, err := http.Get(thsUrl)
+	fmt.Println("GetEdbDataByWind body:")
+	fmt.Println(string(body))
+	utils.FileLog.Info(fmt.Sprint("wind result:", string(body)))
+
+	if err != nil {
+		return
+	}
+	item = new(EdbDataFromWind)
+	err = json.Unmarshal(body, &item)
+
+	//异常的话,需要邮件通知
+	if len(item.ErrorCode) > 0 {
+		if item.ErrorCode["0"] != 0 {
+			go alarm_msg.SendAlarmMsg(fmt.Sprintf("wind数据服务异常,url:%s;edbCode:%s,ErrorCode:%d,result:%s", windUrl, edbCode, item.ErrorCode["0"], string(body)), 3)
+		}
+	}
+	return
+}
+
 // GetWindUrl 获取wind的url
 func GetWindUrl(edbCode string) (windUrl string, err error) {
 	defer func() {