Pārlūkot izejas kodu

Merge branch 'feature/eta2.5.9_api_stat' into debug

xyxie 1 nedēļu atpakaļ
vecāks
revīzija
97b0baea16
1 mainītis faili ar 24 papildinājumiem un 21 dzēšanām
  1. 24 21
      services/base_from_mysteel_chemical.go

+ 24 - 21
services/base_from_mysteel_chemical.go

@@ -72,24 +72,6 @@ func HandleApiIndex(indexCodes []string) (errMsg string, err error) {
 	if len(indexCodes) == 0 {
 		return
 	}
-	var apiErrMsg string
-	var hasLog bool
-	defer func() {
-		if err != nil && !hasLog {
-			// 查询指标编码
-			edbList, err := models.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, indexCodes)
-			if err != nil {
-				return
-			}
-			for _, v := range edbList {
-				realErrMsg := "服务异常"
-				if apiErrMsg != "" {
-					realErrMsg = apiErrMsg
-				}
-				EdbDataUpdateRecord(v.EdbInfoId, false, false, err.Error()+realErrMsg, realErrMsg)
-			}
-		}
-	}()
 	resp, err := GetEdbDataFromMySteelChemical(indexCodes, utils.GetEdbRefreshStartDate(""), utils.BASE_END_DATE, "desc")
 	if err != nil {
 		return
@@ -97,7 +79,6 @@ func HandleApiIndex(indexCodes []string) (errMsg string, err error) {
 	if !resp.Success {
 		errMsg = "获取数据失败"
 		err = errors.New(resp.Message)
-		apiErrMsg = fmt.Sprintf("钢联化工API请求失败, ErrCode: %s, ErrMsg: %s", resp.Code, resp.Message)
 		return
 	}
 	indexInfoMap, err := GetMySteelChemicalIndexNameMap()
@@ -218,7 +199,6 @@ func HandleApiIndex(indexCodes []string) (errMsg string, err error) {
 		}
 
 		if edbInfo != nil && edbInfo.EdbInfoId > 0 {
-			hasLog = true
 			dataUpdateResult := 2
 			dataUpdateFailedReason := "服务异常"
 			_, logErrMsg, logErr := logic.RefreshBaseEdbInfo(edbInfo, ``)
@@ -702,6 +682,25 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 
 	// 如果配置了api的token, 那么就走api接口
 	if utils.MysteelChemicalApiToken != "" {
+		var apiErrMsg string
+		var updateResult bool
+		hasUpdateMap := make(map[string]bool)
+		defer func() {
+			// 查询指标编码
+			edbList, tErr := models.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, []string{edbCode})
+			if tErr != nil {
+				return
+			}
+			for _, v := range edbList {
+				hasUpdate, ok := hasUpdateMap[edbCode]
+				if !ok {
+					hasUpdate = false
+				}
+				EdbDataUpdateRecord(v.EdbInfoId, hasUpdate, updateResult, err.Error(), apiErrMsg)
+			}
+			
+		}()
+	
 		resp, er := GetEdbDataFromMySteelChemical([]string{edbCode}, startDate, endDate, "desc")
 		if er != nil {
 			err = er
@@ -709,8 +708,10 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 		}
 		if !resp.Success {
 			err = errors.New(resp.Message)
+			apiErrMsg = fmt.Sprintf("钢联化工API请求失败, ErrCode: %s, ErrMsg: %s", resp.Code, resp.Message)
 			return
 		}
+		updateResult = true
 
 		dataObj := new(models.BaseFromMysteelChemicalData)
 		exitDataList, er := dataObj.GetIndexDataList(edbCode)
@@ -728,7 +729,7 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 			err = er
 			return
 		}
-
+		
 		addItems := make([]*models.BaseFromMysteelChemicalData, 0)
 		indexObj := &models.BaseFromMysteelChemicalIndex{}
 		existIndex, er := indexObj.GetIndexItem(edbCode)
@@ -757,6 +758,7 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 					if err != nil {
 						return
 					}
+					hasUpdateMap[edbCode] = true
 				}
 			}
 		}
@@ -764,6 +766,7 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 		if err != nil {
 			return
 		}
+		hasUpdateMap[edbCode] = true
 		return
 	}
 	return