瀏覽代碼

Merge branch 'hotfix/jb_es' into debug

xyxie 6 天之前
父節點
當前提交
746235b504

+ 4 - 4
models/base_from_mysteel_chemical.go

@@ -665,8 +665,8 @@ type MySteelChemicalApiData struct {
 }
 
 type MySteelChemicalApiDataList struct {
-	PublishTime int64            `json:"PUBLISH_TIME"`
-	IndexCode   string           `json:"INDEX_CODE"`
-	DataDate    string           `json:"DATA_DATE"`
-	DataValue   sql2.NullFloat64 `json:"DATA_VALUE"`
+	PublishTime int64    `json:"PUBLISH_TIME"`
+	IndexCode   string   `json:"INDEX_CODE"`
+	DataDate    string   `json:"DATA_DATE"`
+	DataValue   *float64 `json:"DATA_VALUE"`
 }

+ 1 - 0
models/base_from_usda_fas.go

@@ -216,6 +216,7 @@ type BaseFromUsdaFasIndex struct {
 	Unit           string
 	StartDate      string
 	EndDate        string
+	EndValue       float64
 	ClassifyId     int64
 	Sort           int
 	BaseFileName   string

+ 14 - 7
services/base_from_mysteel_chemical.go

@@ -231,7 +231,7 @@ func tranformData(dataResp *models.MySteelChemicalApiResp) (items [][]*models.Ba
 		tmpDataItems := make([]*models.BaseFromMysteelChemicalData, 0)
 		for _, vv := range v.DataList {
 			// 如果数据值为null那么直接忽略
-			if !vv.DataValue.Valid {
+			if vv.DataValue == nil {
 				continue
 			}
 			tmpData := new(models.BaseFromMysteelChemicalData)
@@ -240,12 +240,12 @@ func tranformData(dataResp *models.MySteelChemicalApiResp) (items [][]*models.Ba
 			pub, ok := tmpNewDataMap[vv.DataDate]
 			if !ok {
 				tmpNewDataMap[vv.DataDate] = vv.PublishTime
-				tmpData.Value = strconv.FormatFloat(vv.DataValue.Float64, 'f', -1, 64)
+				tmpData.Value = strconv.FormatFloat(*vv.DataValue, 'f', -1, 64)
 			} else {
 				if pub < vv.PublishTime {
 					tmpNewDataMap[vv.DataDate] = vv.PublishTime
 					tmpData = tmpDateDataMap[vv.DataDate]
-					tmpData.Value = strconv.FormatFloat(vv.DataValue.Float64, 'f', -1, 64)
+					tmpData.Value = strconv.FormatFloat(*vv.DataValue, 'f', -1, 64)
 				}
 				continue
 			}
@@ -565,10 +565,12 @@ func GetEdbDataFromMySteelChemical(indexCodes []string, startTime, endTime, orde
 	}
 	body, err := MySteelChemicalPost(postUrl, "data", postData)
 	if err != nil {
+		utils.FileLog.Info(fmt.Sprintf("MySteelChemicalPost Data Body: %s", string(body)))
 		return
 	}
 	err = json.Unmarshal(body, &item)
 	if err != nil {
+		utils.FileLog.Info(fmt.Sprintf("MySteelChemicalPost Data Body: %s", string(body)))
 		return
 	}
 	return
@@ -623,10 +625,12 @@ func getPageIndexInfoMap(pageNum, pageSize int, includeInfo bool) (item *models.
 	body, er := MySteelChemicalPost(postUrl, "info", postData)
 	if er != nil {
 		err = er
+		utils.FileLog.Info(fmt.Sprintf("MySteelChemicalPost Info Body: %s", string(body)))
 		return
 	}
 	err = json.Unmarshal(body, &item)
 	if err != nil {
+		utils.FileLog.Info(fmt.Sprintf("MySteelChemicalPost Info Body: %s", string(body)))
 		return
 	}
 	if !item.Success {
@@ -696,11 +700,14 @@ func RefreshDataFromMysteelChemical(edbCode, startDate, endDate string) (err err
 				if !ok {
 					hasUpdate = false
 				}
-				EdbDataUpdateRecord(v.EdbInfoId, hasUpdate, updateResult, err.Error(), apiErrMsg)
+				var reason string
+				if err != nil {
+					reason = err.Error()
+				}
+				EdbDataUpdateRecord(v.EdbInfoId, hasUpdate, updateResult, reason, apiErrMsg)
 			}
-			
 		}()
-	
+
 		resp, er := GetEdbDataFromMySteelChemical([]string{edbCode}, startDate, endDate, "desc")
 		if er != nil {
 			err = er
@@ -729,7 +736,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)

+ 16 - 6
services/base_from_usda_fas.go

@@ -136,6 +136,7 @@ func handleUsdaFasIndex(req *models.HandleUsdaFasExcelData, terminalCode string,
 			return
 		}
 	}
+	oldIndexObj := item
 	if item != nil && item.BaseFromUsdaFasIndexId > 0 {
 		fmt.Println("item:", item)
 		isAdd = 2
@@ -191,11 +192,13 @@ func handleUsdaFasIndex(req *models.HandleUsdaFasExcelData, terminalCode string,
 		updateColsArr = append(updateColsArr, "frequency")
 		updateColsArr = append(updateColsArr, "sort")
 		updateColsArr = append(updateColsArr, "modify_time")
-
-		e := indexObj.Update(updateColsArr)
-		if e != nil {
-			fmt.Println("Index Update Err:" + e.Error())
-			return
+		// 指标数据有变化才更新
+		if oldIndexObj.IndexName != indexName || oldIndexObj.ClassifyId != classifyId || oldIndexObj.Country != req.Country || oldIndexObj.Commodity != req.Commodity || oldIndexObj.Frequency != req.Frequency || oldIndexObj.Sort != req.Sort {
+		    e := indexObj.Update(updateColsArr)
+		    if e != nil {
+			   fmt.Println("Index Update Err:" + e.Error())
+			   return
+		    }
 		}
 	}
 
@@ -287,7 +290,14 @@ func handleUsdaFasIndex(req *models.HandleUsdaFasExcelData, terminalCode string,
 	}
 
 	go func() {
-		indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
+		if isAdd == 2 && oldIndexObj != nil && oldIndexObj.BaseFromUsdaFasIndexId > 0 {
+			// 判断指标数据是否有变更
+			if oldIndexObj.StartDate != dateItem.MinDate || oldIndexObj.EndDate != dateItem.MaxDate || oldIndexObj.EndValue != dateItem.LatestValue {
+				indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
+			}
+		} else {
+			indexObj.ModifyIndexMaxAndMinDate(indexCode, dateItem)
+		}
 	}()
 
 	// 同步刷新ETA指标库的指标