|
@@ -27,6 +27,7 @@ type BaseFromEiaSteoIndex struct {
|
|
|
EndDate time.Time `description:"结束日期"`
|
|
|
ModifyTime time.Time `description:"最新更新时间"`
|
|
|
CreateTime time.Time `description:"创建时间"`
|
|
|
+ LatestValue float64 `description:"最新值"`
|
|
|
}
|
|
|
|
|
|
// Add 新增指标
|
|
@@ -148,6 +149,7 @@ func HandleEiaSteoData(dataList map[string]interface{}, indexInfo *BaseFromEiaSt
|
|
|
addBaseFromEiaSteoDataList := make([]*BaseFromEiaSteoData, 0)
|
|
|
endDate := indexInfo.EndDate
|
|
|
startDate := indexInfo.StartDate
|
|
|
+ var latestValue float64
|
|
|
|
|
|
for date, v := range dataList {
|
|
|
// 实际数据
|
|
@@ -166,7 +168,12 @@ func HandleEiaSteoData(dataList map[string]interface{}, indexInfo *BaseFromEiaSt
|
|
|
}
|
|
|
if currDate.After(endDate) {
|
|
|
endDate = currDate
|
|
|
+ latestValue = val
|
|
|
+ } else if currDate.Equal(endDate) {
|
|
|
+ // 修复历史数据
|
|
|
+ latestValue = val
|
|
|
}
|
|
|
+
|
|
|
if currDate.Before(startDate) {
|
|
|
startDate = currDate
|
|
|
}
|
|
@@ -230,7 +237,8 @@ func HandleEiaSteoData(dataList map[string]interface{}, indexInfo *BaseFromEiaSt
|
|
|
{
|
|
|
updateParams := make([]string, 0)
|
|
|
indexInfo.ModifyTime = time.Now()
|
|
|
- updateParams = append(updateParams, "ModifyTime")
|
|
|
+ indexInfo.LatestValue = latestValue
|
|
|
+ updateParams = append(updateParams, "ModifyTime", "LatestValue")
|
|
|
if endDate.After(indexInfo.EndDate) {
|
|
|
indexInfo.EndDate = endDate
|
|
|
updateParams = append(updateParams, "EndDate")
|