Browse Source

fix:修复wind的地址匹配不一致的问题

Roc 1 year ago
parent
commit
85546761bc
1 changed files with 27 additions and 19 deletions
  1. 27 19
      controllers/base_from_wind.go

+ 27 - 19
controllers/base_from_wind.go

@@ -2,6 +2,7 @@ package controllers
 
 import (
 	"encoding/json"
+	"errors"
 	"eta/eta_index_lib/logic"
 	"eta/eta_index_lib/models"
 	"eta/eta_index_lib/services"
@@ -68,23 +69,12 @@ func (this *WindController) Add() {
 		}
 
 		if windUrl == `` {
-			// 先配置中获取,如果有指定配置的话,那么取配置中的数据
-			tmpConfig, err := models.GetConfigDetailByCode("wind_data_url")
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				br.Msg = "获取配置的wind地址失败!"
-				br.ErrMsg = "获取配置的wind地址失败,err:" + err.Error()
+			windUrl, err = GetServerUrl(req.EdbCode)
+			if err != nil {
+				br.Msg = "获取可以使用的wind地址失败!"
+				br.ErrMsg = "获取可以使用的wind地址失败,err:" + err.Error()
 				return
 			}
-			if tmpConfig != nil {
-				windUrl = tmpConfig.ConfigValue
-			} else {
-				windUrl, err = GetServerUrl(req.EdbCode)
-				if err != nil {
-					br.Msg = "获取使用的wind地址失败!"
-					br.ErrMsg = "获取使用的wind地址失败,err:" + err.Error()
-					return
-				}
-			}
 		}
 
 		if windUrl == `` {
@@ -233,6 +223,28 @@ func (this *WindController) Refresh() {
 
 // GetServerUrl 获取服务器地址
 func GetServerUrl(edbCode string) (windUrl string, err error) {
+	defer func() {
+		if err != nil && windUrl != `` {
+			//windUrl = `http://datawind.hzinsights.com:8040/`
+			// 设置缓存
+			cacheKey := utils.CACHE_WIND_URL + ":" + edbCode
+			_ = utils.Rc.SetNX(cacheKey, windUrl, utils.GetTodayLastSecond())
+		}
+	}()
+
+	// 先配置中获取,如果有指定配置的话,那么取配置中的数据
+	tmpConfig, err := models.GetConfigDetailByCode("wind_data_url")
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		err = errors.New("获取配置的wind地址失败,err:" + err.Error())
+		return
+	}
+	err = nil
+	if tmpConfig != nil {
+		windUrl = tmpConfig.ConfigValue
+		return
+	}
+
+	// 配置中没有的话,那么就从分组获取
 	list, err := models.GetServerUrlCountGroupByServerUrl()
 	if err != nil {
 		return
@@ -254,9 +266,5 @@ func GetServerUrl(edbCode string) (windUrl string, err error) {
 		}
 	}
 
-	//windUrl = `http://datawind.hzinsights.com:8040/`
-	// 设置缓存
-	cacheKey := utils.CACHE_WIND_URL + ":" + edbCode
-	_ = utils.Rc.SetNX(cacheKey, windUrl, utils.GetTodayLastSecond())
 	return
 }