Browse Source

临时修改,只取部分指标

hsun 5 months ago
parent
commit
321b4133b8
1 changed files with 84 additions and 1 deletions
  1. 84 1
      services/eta_bridge/gn.go

+ 84 - 1
services/eta_bridge/gn.go

@@ -9,6 +9,7 @@ import (
 	"eta_gn/eta_task/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"io/ioutil"
 	"net/url"
 	"strconv"
 	"strings"
@@ -63,8 +64,28 @@ func SyncGnIndex(cont context.Context) (err error) {
 
 	var lastUpdateTimeStr string // 上一次更新的时间
 
-	err, errMsgList = syncGnIndex(1, utils.SyncCrmIndexNum, lastUpdateTimeStr)
+	// TODO:暂时注释下, 只取部分有数据的
+	//err, errMsgList = syncGnIndex(1, utils.SyncCrmIndexNum, lastUpdateTimeStr)
 
+	// TODO:下面的用完整体注释掉就行
+	indexIds, e := LoadGnTempIndexIds()
+	if e != nil {
+		err = fmt.Errorf("读取IDs配置文件失败, %v", e)
+		return
+	}
+	if len(indexIds) == 0 {
+		fmt.Println("IndexIds为空")
+		return
+	}
+	for _, v := range indexIds {
+		strId := strconv.Itoa(v)
+		err, errMsgList = syncGnIndexV2(1, 1, lastUpdateTimeStr, strId)
+		if err != nil {
+			errMsg := strings.Join(errMsgList, "\n")
+			fmt.Printf("IndexId: %s, 同步失败, ErrMsg: %s", strId, errMsg)
+			continue
+		}
+	}
 	return
 }
 
@@ -161,6 +182,7 @@ type BridgeGnIndexParams struct {
 	LastModifyTime string `json:"last_modify_time" description:"最近一次更新时间"`
 	PageIndex      int    `json:"page_index" description:"当前页码"`
 	PageSize       int    `json:"page_size" description:"每页数量"`
+	IndexId        string `json:"index_id" description:"指标ID,不为空时表示只取该指标"`
 }
 
 // syncCrmIndex
@@ -629,3 +651,64 @@ func GetSource(sourceName string) (gnSourceName string, source int, err error) {
 
 	return
 }
+
+func syncGnIndexV2(currIndex, pageSize int, baseLastUpdateTimeStr string, indexId string) (err error, errMsgList []string) {
+	fmt.Println("开始第", currIndex, "页的更新")
+	errMsgList = make([]string, 0)
+
+	lastUpdateTimeStr := baseLastUpdateTimeStr
+	if lastUpdateTimeStr != `` {
+		lastUpdateTimeStr = url.QueryEscape(lastUpdateTimeStr)
+	}
+	params := BridgeGnIndexParams{
+		LastModifyTime: lastUpdateTimeStr,
+		PageIndex:      currIndex,
+		PageSize:       pageSize,
+		IndexId:        indexId,
+	}
+	bResult, err, _ := HttpEtaBridgePost(utils.SyncIndexPath, params)
+	if err != nil {
+		return
+	}
+
+	var result EtaBridgeGnIndexListResp
+	err = json.Unmarshal(bResult, &result)
+	if err != nil {
+		err = fmt.Errorf("result unmarshal err: %s\nresult: %s", err.Error(), string(bResult))
+		utils.FileLog.Info("桥接服务get请求失败:\n" + string(bResult))
+		return
+	}
+
+	//totalPage := result.Data.Paging.Pages
+
+	// 处理指标信息
+	for _, v := range result.Data.List {
+		tmpErr := handleIndex(v)
+		if tmpErr != nil {
+			errMsgList = append(errMsgList, tmpErr.Error())
+		}
+	}
+
+	fmt.Println(currIndex, "是否已结束:", result.Data.Paging.IsEnd)
+	// 如果还有下一页,那么就继续请求下一页
+	//if !result.Data.Paging.IsEnd {
+	//	_, tmpErrMsgList := syncGnIndex(currIndex+1, utils.SyncCrmIndexNum, baseLastUpdateTimeStr)
+	//	errMsgList = append(errMsgList, tmpErrMsgList...)
+	//}
+
+	return
+}
+
+func LoadGnTempIndexIds() (indexIds []int, err error) {
+	filePath := "./static/gn_index_ids.json"
+	b, e := ioutil.ReadFile(filePath)
+	if e != nil {
+		err = fmt.Errorf("读取配置失败, err: %v", e)
+		return
+	}
+	if e = json.Unmarshal(b, &indexIds); e != nil {
+		err = fmt.Errorf("解析配置失败, err: %v", e)
+		return
+	}
+	return
+}