|
@@ -7,14 +7,15 @@ import (
|
|
|
"context"
|
|
|
"encoding/json"
|
|
|
"eta/eta_data_analysis/models"
|
|
|
- "eta/eta_data_analysis/services"
|
|
|
"eta/eta_data_analysis/utils"
|
|
|
"fmt"
|
|
|
"github.com/chromedp/cdproto/network"
|
|
|
"github.com/chromedp/chromedp"
|
|
|
"io"
|
|
|
+ "io/ioutil"
|
|
|
"log"
|
|
|
"net/http"
|
|
|
+ "strings"
|
|
|
"sync"
|
|
|
"time"
|
|
|
)
|
|
@@ -118,7 +119,7 @@ func (p *BaseProcessor) FetchAndProcess(processor DataProcessor) error {
|
|
|
paramsLib := make(map[string]interface{})
|
|
|
paramsLib["List"] = response
|
|
|
paramsLib["TerminalCode"] = utils.TerminalCode
|
|
|
- postEdbLib, err := services.PostEdbLib(paramsLib, utils.LIB_ROUTE_FENWEI_NET_DATA_HANDLE)
|
|
|
+ postEdbLib, err := postEdbLib(paramsLib, utils.LIB_ROUTE_FENWEI_NET_DATA_HANDLE)
|
|
|
if err != nil {
|
|
|
// 有错误就不继续执行
|
|
|
log.Printf("postEdbLib err: %v", err)
|
|
@@ -129,6 +130,47 @@ func (p *BaseProcessor) FetchAndProcess(processor DataProcessor) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+// PostEdbLib 调用指标接口
|
|
|
+func postEdbLib(param map[string]interface{}, method string) (result []byte, err error) {
|
|
|
+ postUrl := utils.EDB_LIB_URL + method
|
|
|
+ postData, err := json.Marshal(param)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ result, err = httpPost(postUrl, string(postData), "application/json")
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func httpPost(url, postData string, params ...string) ([]byte, error) {
|
|
|
+ fmt.Println("HttpPost Url:" + url)
|
|
|
+ body := ioutil.NopCloser(strings.NewReader(postData))
|
|
|
+ client := &http.Client{}
|
|
|
+ req, err := http.NewRequest("POST", url, body)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ contentType := "application/x-www-form-urlencoded;charset=utf-8"
|
|
|
+ if len(params) > 0 && params[0] != "" {
|
|
|
+ contentType = params[0]
|
|
|
+ }
|
|
|
+ req.Header.Set("Content-Type", contentType)
|
|
|
+ req.Header.Set("authorization", utils.MD5(utils.APP_EDB_LIB_NAME_EN+utils.EDB_LIB_Md5_KEY))
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("client.Do err:" + err.Error())
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+ b, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("HttpPost:" + string(b))
|
|
|
+ }
|
|
|
+ return b, err
|
|
|
+}
|
|
|
+
|
|
|
// resp响应参数检测 code or message 判断是否需要重新登录
|
|
|
func checkResp(resp string) bool {
|
|
|
if resp == "" {
|