浏览代码

Merge branch 'fix/2023-8-31' into debug

Roc 1 年之前
父节点
当前提交
fdd79a99fd
共有 4 个文件被更改,包括 117 次插入13 次删除
  1. 31 13
      controllers/base_from_wind.go
  2. 78 0
      services/hongze_sync_trial.go
  3. 4 0
      utils/config.go
  4. 4 0
      utils/constants.go

+ 31 - 13
controllers/base_from_wind.go

@@ -52,23 +52,41 @@ func (this *WindController) Add() {
 		}
 
 		windUrl := ``
-		// 先配置中获取,如果有指定配置的话,那么取配置中的数据
-		tmpConfig, err := models.GetConfigDetailByCode("wind_data_url")
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取配置的wind地址失败!"
-			br.ErrMsg = "获取配置的wind地址失败,err:" + err.Error()
-			return
-		}
-		if tmpConfig != nil {
-			windUrl = tmpConfig.ConfigValue
-		} else {
-			windUrl, err = GetServerUrl(req.EdbCode)
+
+		// 试用平台的话,需要额外从弘则这边获取下地址
+		if utils.BusinessCode == utils.HZ_TRIAL_BUSSINESS_CODE {
+			tmpWindUrl, err, errMsg := services.GetHzWindUrl(req.EdbCode, source)
 			if err != nil {
-				br.Msg = "获取使用的wind地址失败!"
-				br.ErrMsg = "获取使用的wind地址失败,err:" + err.Error()
+				br.Msg = "添加失败!"
+				br.ErrMsg = "添加失败,Err:" + err.Error()
+				if errMsg != `` {
+					br.Msg = errMsg
+				}
 				return
 			}
+			windUrl = tmpWindUrl
 		}
+
+		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()
+				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 == `` {
 			br.Msg = "没有配置wind地址!"
 			br.ErrMsg = "没有配置wind地址"

+ 78 - 0
services/hongze_sync_trial.go

@@ -0,0 +1,78 @@
+package services
+
+import (
+	"encoding/json"
+	"errors"
+	"eta/eta_index_lib/utils"
+	"fmt"
+	"io"
+	"net/http"
+	"strings"
+)
+
+// var syncTrialUrl = `http://127.0.0.1:8810/api/`  // 服务地址
+var syncTrialUrl = `http://172.19.173.232:8810/api/` // 服务地址
+var syncToken = `SF25sdsfwEW4fs53F4D.82SDdsooDg`     // 校验token(目前是写死的,后续可以根据用户配置)
+
+//var syncTrialUrl = `http://127.0.0.1:8810/api/`
+
+// BaseSyncTrialResp 基础返回
+type BaseSyncTrialResp struct {
+	Code int         `json:"code"`
+	Msg  string      `json:"msg"`
+	Data interface{} `json:"data"`
+}
+
+// SyncTrialEdbInfoResp 指标详情返回
+type SyncTrialEdbInfoResp struct {
+	Code int    `json:"code"`
+	Msg  string `json:"msg"`
+	Data struct {
+		EdbCode   string `json:"edb_code"`
+		Source    int    `json:"source"`
+		ServerUrl string `json:"server_url"`
+	} `json:"data"`
+}
+
+// GetHzWindUrl 获取wind的url
+func GetHzWindUrl(edbCode string, source int) (windUrl string, err error, errMsg string) {
+	requestSyncTrialUrl := syncTrialUrl + `common/edb_info/edb_code?edb_code=%s&source=%d`
+	requestSyncTrialUrl = fmt.Sprintf(requestSyncTrialUrl, edbCode, source)
+
+	payload := strings.NewReader("-----011000010111000001101001--\r\n\r\n")
+
+	req, _ := http.NewRequest("GET", requestSyncTrialUrl, payload)
+
+	req.Header.Add("authorization", syncToken)
+	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")
+
+	res, err := http.DefaultClient.Do(req)
+	if err != nil {
+		return
+	}
+	defer res.Body.Close()
+	body, err := io.ReadAll(res.Body)
+	if err != nil {
+		return
+	}
+
+	//fmt.Println("GetHzWindUrl body:")
+	//fmt.Println(string(body))
+	utils.FileLog.Info(fmt.Sprint("syncTrial result:", string(body)))
+
+	item := new(SyncTrialEdbInfoResp)
+	err = json.Unmarshal(body, &item)
+	if err != nil {
+		return
+	}
+
+	//异常的话,需要邮件通知
+	if item.Code != 200 {
+		errMsg = item.Msg
+		err = errors.New(errMsg)
+		return
+	}
+	windUrl = item.Data.ServerUrl
+
+	return
+}

+ 4 - 0
utils/config.go

@@ -77,6 +77,7 @@ var (
 
 // 初始化数据用户信息
 var (
+	BusinessCode  string //商户号
 	InitAdminId   string
 	InitAdminName string
 )
@@ -194,6 +195,9 @@ func init() {
 	//初始化数据用户配置
 	InitAdminName = config["init_admin_name"]
 
+	// 初始化商家编码
+	BusinessCode = config["business_code"]
+
 	// 初始化ES
 	initEs()
 }

+ 4 - 0
utils/constants.go

@@ -225,3 +225,7 @@ var MonthQuarterMap = map[int]int{
 var FrequencyDaysMap = map[string]int{
 	"天": 1, "周": 7, "月": 30, "季": 90, "年": 365,
 }
+
+var (
+	HZ_TRIAL_BUSSINESS_CODE = "E2023080700" //商家试用平台
+)