|
@@ -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
|
|
|
+}
|