Roc 2 years ago
parent
commit
1ddf2986f2
3 changed files with 268 additions and 268 deletions
  1. 210 0
      models/base_from_eia_steo.go
  2. 0 210
      models/base_from_eia_stero.go
  3. 58 58
      services/eia_steo.go

+ 210 - 0
models/base_from_eia_steo.go

@@ -0,0 +1,210 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/shopspring/decimal"
+	"hongze/hongze_data_crawler/utils"
+	"time"
+)
+
+// BaseFromEiaSteoIndex EiaSteo指标
+type BaseFromEiaSteoIndex struct {
+	BaseFromEiaSteoIndexId    int       `orm:"column(base_from_eia_steo_index_id);pk"`
+	BaseFromEiaSteoClassifyId int       `description:"指标分类id"`
+	IndexCode                 string    `description:"指标编码"`
+	IndexName                 string    `description:"指标名称(中文名称)"`
+	IndexNameOriginal         string    `description:"指标名称(原始名称)"`
+	Frequency                 string    `description:"频度"`
+	Level                     int       `description:"指标层级(原始层级)"`
+	Unit                      string    `description:"单位"`
+	Super                     string    `description:"我也不知道是个啥,反正先存起来,万一用到了呢"`
+	Precision                 int       `description:"精度,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	LastHistorical            string    `description:"最近的历史记录,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	Description               string    `description:"备注信息,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	IsMappable                int       `description:"是否可映射,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	StartDate                 time.Time `description:"开始日期"`
+	EndDate                   time.Time `description:"结束日期"`
+	ModifyTime                time.Time `description:"最新更新时间"`
+	CreateTime                time.Time `description:"创建时间"`
+}
+
+// Add 新增指标
+func (item *BaseFromEiaSteoIndex) Add() (err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err := o.Insert(item)
+	if err != nil {
+		return
+	}
+	item.BaseFromEiaSteoIndexId = int(lastId)
+	return
+}
+
+// Update 更新作者基础信息
+func (item *BaseFromEiaSteoIndex) Update(cols []string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	_, err = o.Update(item, cols...)
+	return
+}
+
+// BaseFromEiaSteoClassify EiaSteo分类
+type BaseFromEiaSteoClassify struct {
+	BaseFromEiaSteoClassifyId int       `orm:"column(base_from_eia_steo_classify_id);pk"`
+	ClassifyName              string    `description:"分类名称(中文名称)"`
+	ClassifyNameOriginal      string    `description:"分类名称(原始名称)"`
+	ModifyTime                time.Time `description:"最新更新时间"`
+	CreateTime                time.Time `description:"创建时间"`
+}
+
+// 新增分类
+func (item *BaseFromEiaSteoClassify) AddBaseFromEiaSteoClassify() (err error) {
+	o := orm.NewOrmUsingDB("data")
+	lastId, err := o.Insert(item)
+	if err != nil {
+		return
+	}
+	item.BaseFromEiaSteoClassifyId = int(lastId)
+	return
+}
+
+// BaseFromEiaSteoData EiaSteo数据表
+type BaseFromEiaSteoData struct {
+	BaseFromEiaSteoDataId  int       `orm:"column(base_from_eia_steo_data_id);pk"`
+	BaseFromEiaSteoIndexId int       `description:"指标id"`
+	IndexCode              string    `description:"指标编码"`
+	DataTime               time.Time `description:"数据日期"`
+	Value                  float64   `description:"数据值"`
+	ModifyTime             time.Time `description:"最新更新时间"`
+	CreateTime             time.Time `description:"创建时间"`
+}
+
+// GetBaseFromEiaSteoClassifyAll 获取所有的分类
+func GetBaseFromEiaSteoClassifyAll() (list []*BaseFromEiaSteoClassify, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT * FROM base_from_eia_steo_classify`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+// GetBaseFromEiaSteoIndexAll 获取所有的指标
+func GetBaseFromEiaSteoIndexAll() (list []*BaseFromEiaSteoIndex, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT * FROM base_from_eia_steo_index`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+// HandleEiaSteoData 数据处理
+func HandleEiaSteoData(dataList map[string]interface{}, indexInfo *BaseFromEiaSteoIndex) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			to.Rollback()
+		} else {
+			to.Commit()
+		}
+	}()
+	var existList []*BaseFromEiaSteoData
+	sql := `SELECT * FROM base_from_eia_steo_data WHERE index_code = ? order by data_time asc`
+	_, err = to.Raw(sql, indexInfo.IndexCode).QueryRows(&existList)
+	if err != nil {
+		return err
+	}
+
+	existMap := make(map[string]*BaseFromEiaSteoData)
+	for _, v := range existList {
+		existMap[v.DataTime.Format(utils.FormatDate)] = v
+	}
+
+	// 待添加的数据列表
+	addBaseFromEiaSteoDataList := make([]*BaseFromEiaSteoData, 0)
+	endDate := indexInfo.EndDate
+	startDate := indexInfo.StartDate
+
+	for date, v := range dataList {
+		// 实际数据
+		val := v.(float64)
+		valDecimal := decimal.NewFromFloat(val).Round(4)
+		val, _ = valDecimal.Float64()
+
+		currDate, tmpErr := time.ParseInLocation(utils.FormatMonthDateUnSpace, date, time.Local)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		if currDate.After(endDate) {
+			endDate = currDate
+		}
+		if currDate.Before(startDate) {
+			startDate = currDate
+		}
+		date = currDate.Format(utils.FormatDate)
+		//fmt.Println("date:", date)
+
+		tmpBaseFromEiaSteoData, ok := existMap[date]
+		if !ok {
+			addBaseFromEiaSteoDataList = append(addBaseFromEiaSteoDataList, &BaseFromEiaSteoData{
+				//BaseFromEiaSteoDataId:  0,
+				BaseFromEiaSteoIndexId: indexInfo.BaseFromEiaSteoIndexId,
+				IndexCode:              indexInfo.IndexCode,
+				DataTime:               currDate,
+				Value:                  val,
+				ModifyTime:             time.Now(),
+				CreateTime:             time.Now(),
+			})
+		} else {
+			nowVal := decimal.NewFromFloat(tmpBaseFromEiaSteoData.Value)
+			//fmt.Println(date, "=========", nowVal.Equal(valDecimal))
+			if !nowVal.Equal(valDecimal) {
+				tmpBaseFromEiaSteoData.Value = val
+				_, err = to.Update(tmpBaseFromEiaSteoData, "Value")
+				if err != nil {
+					return
+				}
+			}
+		}
+		delete(existMap, date)
+	}
+
+	lenAddBaseFromEiaSteoDataList := len(addBaseFromEiaSteoDataList)
+	if lenAddBaseFromEiaSteoDataList > 0 {
+		_, err = to.InsertMulti(lenAddBaseFromEiaSteoDataList, addBaseFromEiaSteoDataList)
+	}
+
+	existMapNum := len(existMap)
+	if existMapNum > 0 {
+		idList := make([]int, 0)
+		for _, v := range existMap {
+			idList = append(idList, v.BaseFromEiaSteoDataId)
+		}
+
+		sql = `DELETE FROM base_from_eia_steo_data WHERE base_from_eia_steo_data_id in(` + utils.GetOrmInReplace(existMapNum) + `) `
+		_, err = to.Raw(sql, idList).Exec()
+		if err != nil {
+			return err
+		}
+	}
+
+	// 更新指标信息
+	{
+		isUpdateIndexDate := false
+		if endDate.After(indexInfo.EndDate) {
+			isUpdateIndexDate = true
+			indexInfo.EndDate = endDate
+		}
+		if startDate.Before(indexInfo.StartDate) {
+			isUpdateIndexDate = true
+			indexInfo.StartDate = startDate
+		}
+		if isUpdateIndexDate {
+			_, err = to.Update(indexInfo, "StartDate", "EndDate")
+			if err != nil {
+				return
+			}
+		}
+	}
+	return
+}

+ 0 - 210
models/base_from_eia_stero.go

@@ -1,210 +0,0 @@
-package models
-
-import (
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/shopspring/decimal"
-	"hongze/hongze_data_crawler/utils"
-	"time"
-)
-
-// BaseFromEiaSteroIndex EiaStero指标
-type BaseFromEiaSteroIndex struct {
-	BaseFromEiaSteroIndexId    int       `orm:"column(base_from_eia_stero_index_id);pk"`
-	BaseFromEiaSteroClassifyId int       `description:"指标分类id"`
-	IndexCode                  string    `description:"指标编码"`
-	IndexName                  string    `description:"指标名称(中文名称)"`
-	IndexNameOriginal          string    `description:"指标名称(原始名称)"`
-	Frequency                  string    `description:"频度"`
-	Level                      int       `description:"指标层级(原始层级)"`
-	Unit                       string    `description:"单位"`
-	Super                      string    `description:"我也不知道是个啥,反正先存起来,万一用到了呢"`
-	Precision                  int       `description:"精度,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	LastHistorical             string    `description:"最近的历史记录,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	Description                string    `description:"备注信息,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	IsMappable                 int       `description:"是否可映射,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	StartDate                  time.Time `description:"开始日期"`
-	EndDate                    time.Time `description:"结束日期"`
-	ModifyTime                 time.Time `description:"最新更新时间"`
-	CreateTime                 time.Time `description:"创建时间"`
-}
-
-// Add 新增指标
-func (item *BaseFromEiaSteroIndex) Add() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.BaseFromEiaSteroIndexId = int(lastId)
-	return
-}
-
-// Update 更新作者基础信息
-func (item *BaseFromEiaSteroIndex) Update(cols []string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	_, err = o.Update(item, cols...)
-	return
-}
-
-// BaseFromEiaSteroClassify EiaStero分类
-type BaseFromEiaSteroClassify struct {
-	BaseFromEiaSteroClassifyId int       `orm:"column(base_from_eia_stero_classify_id);pk"`
-	ClassifyName               string    `description:"分类名称(中文名称)"`
-	ClassifyNameOriginal       string    `description:"分类名称(原始名称)"`
-	ModifyTime                 time.Time `description:"最新更新时间"`
-	CreateTime                 time.Time `description:"创建时间"`
-}
-
-// 新增分类
-func (item *BaseFromEiaSteroClassify) AddBaseFromEiaSteroClassify() (err error) {
-	o := orm.NewOrmUsingDB("data")
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.BaseFromEiaSteroClassifyId = int(lastId)
-	return
-}
-
-// BaseFromEiaSteroData EiaStero数据表
-type BaseFromEiaSteroData struct {
-	BaseFromEiaSteroDataId  int       `orm:"column(base_from_eia_stero_data_id);pk"`
-	BaseFromEiaSteroIndexId int       `description:"指标id"`
-	IndexCode               string    `description:"指标编码"`
-	DataTime                time.Time `description:"数据日期"`
-	Value                   float64   `description:"数据值"`
-	ModifyTime              time.Time `description:"最新更新时间"`
-	CreateTime              time.Time `description:"创建时间"`
-}
-
-// GetBaseFromEiaSteroClassifyAll 获取所有的分类
-func GetBaseFromEiaSteroClassifyAll() (list []*BaseFromEiaSteroClassify, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_eia_stero_classify`
-	_, err = o.Raw(sql).QueryRows(&list)
-	return
-}
-
-// GetBaseFromEiaSteroIndexAll 获取所有的指标
-func GetBaseFromEiaSteroIndexAll() (list []*BaseFromEiaSteroIndex, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM base_from_eia_stero_index`
-	_, err = o.Raw(sql).QueryRows(&list)
-	return
-}
-
-// HandleEiaSteroData 数据处理
-func HandleEiaSteroData(dataList map[string]interface{}, indexInfo *BaseFromEiaSteroIndex) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	to, err := o.Begin()
-	if err != nil {
-		return
-	}
-	defer func() {
-		if err != nil {
-			to.Rollback()
-		} else {
-			to.Commit()
-		}
-	}()
-	var existList []*BaseFromEiaSteroData
-	sql := `SELECT * FROM base_from_eia_stero_data WHERE index_code = ? order by data_time asc`
-	_, err = to.Raw(sql, indexInfo.IndexCode).QueryRows(&existList)
-	if err != nil {
-		return err
-	}
-
-	existMap := make(map[string]*BaseFromEiaSteroData)
-	for _, v := range existList {
-		existMap[v.DataTime.Format(utils.FormatDate)] = v
-	}
-
-	// 待添加的数据列表
-	addBaseFromEiaSteroDataList := make([]*BaseFromEiaSteroData, 0)
-	endDate := indexInfo.EndDate
-	startDate := indexInfo.StartDate
-
-	for date, v := range dataList {
-		// 实际数据
-		val := v.(float64)
-		valDecimal := decimal.NewFromFloat(val).Round(4)
-		val, _ = valDecimal.Float64()
-
-		currDate, tmpErr := time.ParseInLocation(utils.FormatMonthDateUnSpace, date, time.Local)
-		if tmpErr != nil {
-			err = tmpErr
-			return
-		}
-		if currDate.After(endDate) {
-			endDate = currDate
-		}
-		if currDate.Before(startDate) {
-			startDate = currDate
-		}
-		date = currDate.Format(utils.FormatDate)
-		//fmt.Println("date:", date)
-
-		tmpBaseFromEiaSteroData, ok := existMap[date]
-		if !ok {
-			addBaseFromEiaSteroDataList = append(addBaseFromEiaSteroDataList, &BaseFromEiaSteroData{
-				//BaseFromEiaSteroDataId:  0,
-				BaseFromEiaSteroIndexId: indexInfo.BaseFromEiaSteroIndexId,
-				IndexCode:               indexInfo.IndexCode,
-				DataTime:                currDate,
-				Value:                   val,
-				ModifyTime:              time.Now(),
-				CreateTime:              time.Now(),
-			})
-		} else {
-			nowVal := decimal.NewFromFloat(tmpBaseFromEiaSteroData.Value)
-			//fmt.Println(date, "=========", nowVal.Equal(valDecimal))
-			if !nowVal.Equal(valDecimal) {
-				tmpBaseFromEiaSteroData.Value = val
-				_, err = to.Update(tmpBaseFromEiaSteroData, "Value")
-				if err != nil {
-					return
-				}
-			}
-		}
-		delete(existMap, date)
-	}
-
-	lenAddBaseFromEiaSteroDataList := len(addBaseFromEiaSteroDataList)
-	if lenAddBaseFromEiaSteroDataList > 0 {
-		_, err = to.InsertMulti(lenAddBaseFromEiaSteroDataList, addBaseFromEiaSteroDataList)
-	}
-
-	existMapNum := len(existMap)
-	if existMapNum > 0 {
-		idList := make([]int, 0)
-		for _, v := range existMap {
-			idList = append(idList, v.BaseFromEiaSteroDataId)
-		}
-
-		sql = `DELETE FROM base_from_eia_stero_data WHERE base_from_eia_stero_data_id in(` + utils.GetOrmInReplace(existMapNum) + `) `
-		_, err = to.Raw(sql, idList).Exec()
-		if err != nil {
-			return err
-		}
-	}
-
-	// 更新指标信息
-	{
-		isUpdateIndexDate := false
-		if endDate.After(indexInfo.EndDate) {
-			isUpdateIndexDate = true
-			indexInfo.EndDate = endDate
-		}
-		if startDate.Before(indexInfo.StartDate) {
-			isUpdateIndexDate = true
-			indexInfo.StartDate = startDate
-		}
-		if isUpdateIndexDate {
-			_, err = to.Update(indexInfo, "StartDate", "EndDate")
-			if err != nil {
-				return
-			}
-		}
-	}
-	return
-}

+ 58 - 58
services/eia_stero.go → services/eia_steo.go

@@ -11,58 +11,58 @@ import (
 	"time"
 )
 
-func SyncEiaSteroData(cont context.Context) (err error) {
-	err = syncEiaSteroData()
+func SyncEiaSteoData(cont context.Context) (err error) {
+	err = syncEiaSteoData()
 	return
 }
 
-func syncEiaSteroData() (err error) {
+func syncEiaSteoData() (err error) {
 	// 获取数据
 
 	// 这是获取数据的链接(月度的)
-	eiaSteroUrl := "https://www.eia.gov/outlooks/steo/data/browser/data/index.php?v=6&f=M&s=0&id=&linechart=PAPR_OECD~PAPR_NONOPEC&maptype=0&ctype=linechart&map=&method=getData"
-	eiaSteroData, err := queryData(eiaSteroUrl)
+	eiaSteoUrl := "https://www.eia.gov/outlooks/steo/data/browser/data/index.php?v=6&f=M&s=0&id=&linechart=PAPR_OECD~PAPR_NONOPEC&maptype=0&ctype=linechart&map=&method=getData"
+	eiaSteoData, err := queryData(eiaSteoUrl)
 	if err != nil {
 		fmt.Println("读取失败", err)
 		return
 	}
 
 	// 获取分类列表
-	classifyList, err := models.GetBaseFromEiaSteroClassifyAll()
+	classifyList, err := models.GetBaseFromEiaSteoClassifyAll()
 	if err != nil {
 		fmt.Println("获取分类失败:", err)
 		return
 	}
-	classifyMap := make(map[string]*models.BaseFromEiaSteroClassify)
+	classifyMap := make(map[string]*models.BaseFromEiaSteoClassify)
 	for _, v := range classifyList {
 		classifyMap[v.ClassifyNameOriginal] = v
 	}
 
 	// 获取指标列表
-	indexList, err := models.GetBaseFromEiaSteroIndexAll()
+	indexList, err := models.GetBaseFromEiaSteoIndexAll()
 	if err != nil {
 		fmt.Println("获取分类失败:", err)
 		return
 	}
-	indexMap := make(map[string]*models.BaseFromEiaSteroIndex)
+	indexMap := make(map[string]*models.BaseFromEiaSteoIndex)
 	for _, v := range indexList {
 		indexMap[v.IndexCode] = v
 	}
 
-	var nowClassify *models.BaseFromEiaSteroClassify
-	for _, v := range eiaSteroData.VIEWSDATA.ROWS {
+	var nowClassify *models.BaseFromEiaSteoClassify
+	for _, v := range eiaSteoData.VIEWSDATA.ROWS {
 		if v.LEVEL == 1 {
 			tmpNowClassify, ok := classifyMap[v.CHARTNAME]
 			if !ok {
-				nowClassify = &models.BaseFromEiaSteroClassify{
-					BaseFromEiaSteroClassifyId: 0,
-					ClassifyName:               v.CHARTNAME,
-					ClassifyNameOriginal:       v.CHARTNAME,
-					ModifyTime:                 time.Now(),
-					CreateTime:                 time.Now(),
+				nowClassify = &models.BaseFromEiaSteoClassify{
+					BaseFromEiaSteoClassifyId: 0,
+					ClassifyName:              v.CHARTNAME,
+					ClassifyNameOriginal:      v.CHARTNAME,
+					ModifyTime:                time.Now(),
+					CreateTime:                time.Now(),
 				}
 				// 新增指标
-				err = nowClassify.AddBaseFromEiaSteroClassify()
+				err = nowClassify.AddBaseFromEiaSteoClassify()
 				if err != nil {
 					return
 				}
@@ -76,53 +76,53 @@ func syncEiaSteroData() (err error) {
 			continue
 		}
 
-		var eiaSteroIndex *models.BaseFromEiaSteroIndex
+		var eiaSteoIndex *models.BaseFromEiaSteoIndex
 
-		eiaSteroIndex, ok := indexMap[v.SERIESID]
+		eiaSteoIndex, ok := indexMap[v.SERIESID]
 
 		// 指标名称(中文)
-		indexName := EiaSteroNameMap[v.SERIESID]
+		indexName := EiaSteoNameMap[v.SERIESID]
 		if indexName == `` {
 			indexName = v.CHARTNAME
 		}
 		if !ok {
-			eiaSteroIndex = &models.BaseFromEiaSteroIndex{
-				//BaseFromEiaSteroIndexId:    0,
-				BaseFromEiaSteroClassifyId: nowClassify.BaseFromEiaSteroClassifyId,
-				IndexCode:                  v.SERIESID,
-				IndexName:                  indexName,
-				IndexNameOriginal:          v.CHARTNAME,
-				Frequency:                  "月度",
-				Level:                      v.LEVEL,
-				Unit:                       v.UNITS,
-				Super:                      v.SUPER,
-				Precision:                  v.PRECISION,
-				LastHistorical:             strconv.Itoa(v.LASTHISTORICAL),
-				Description:                v.DESCRIPTION,
-				IsMappable:                 v.ISMAPPABLE,
-				StartDate:                  time.Now(),
-				EndDate:                    time.Now(),
-				ModifyTime:                 time.Now(),
-				CreateTime:                 time.Now(),
+			eiaSteoIndex = &models.BaseFromEiaSteoIndex{
+				//BaseFromEiaSteoIndexId:    0,
+				BaseFromEiaSteoClassifyId: nowClassify.BaseFromEiaSteoClassifyId,
+				IndexCode:                 v.SERIESID,
+				IndexName:                 indexName,
+				IndexNameOriginal:         v.CHARTNAME,
+				Frequency:                 "月度",
+				Level:                     v.LEVEL,
+				Unit:                      v.UNITS,
+				Super:                     v.SUPER,
+				Precision:                 v.PRECISION,
+				LastHistorical:            strconv.Itoa(v.LASTHISTORICAL),
+				Description:               v.DESCRIPTION,
+				IsMappable:                v.ISMAPPABLE,
+				StartDate:                 time.Now(),
+				EndDate:                   time.Now(),
+				ModifyTime:                time.Now(),
+				CreateTime:                time.Now(),
 			}
 			// 新增指标
-			err = eiaSteroIndex.Add()
+			err = eiaSteoIndex.Add()
 			if err != nil {
 				return
 			}
-			indexMap[v.SERIESID] = eiaSteroIndex
+			indexMap[v.SERIESID] = eiaSteoIndex
 		} else {
 			updateCol := make([]string, 0)
-			if eiaSteroIndex.BaseFromEiaSteroClassifyId != nowClassify.BaseFromEiaSteroClassifyId {
-				eiaSteroIndex.BaseFromEiaSteroClassifyId = nowClassify.BaseFromEiaSteroClassifyId
-				updateCol = append(updateCol, "BaseFromEiaSteroClassifyId")
+			if eiaSteoIndex.BaseFromEiaSteoClassifyId != nowClassify.BaseFromEiaSteoClassifyId {
+				eiaSteoIndex.BaseFromEiaSteoClassifyId = nowClassify.BaseFromEiaSteoClassifyId
+				updateCol = append(updateCol, "BaseFromEiaSteoClassifyId")
 			}
-			if eiaSteroIndex.IndexName != indexName {
-				eiaSteroIndex.IndexName = indexName
+			if eiaSteoIndex.IndexName != indexName {
+				eiaSteoIndex.IndexName = indexName
 				updateCol = append(updateCol, "IndexName")
 			}
-			if eiaSteroIndex.IndexNameOriginal != v.CHARTNAME {
-				eiaSteroIndex.IndexNameOriginal = v.CHARTNAME
+			if eiaSteoIndex.IndexNameOriginal != v.CHARTNAME {
+				eiaSteoIndex.IndexNameOriginal = v.CHARTNAME
 				updateCol = append(updateCol, "IndexNameOriginal")
 			}
 			//	Frequency:                  "月度",
@@ -134,7 +134,7 @@ func syncEiaSteroData() (err error) {
 			//	Description:                v.DESCRIPTION,
 			//	IsMappable:                 v.ISMAPPABLE,
 			if len(updateCol) > 0 {
-				eiaSteroIndex.Update(updateCol)
+				eiaSteoIndex.Update(updateCol)
 			}
 
 		}
@@ -148,11 +148,11 @@ func syncEiaSteroData() (err error) {
 		case "[]interface {}": // 没有数据
 		case "map[string]interface {}": // 有数据
 			data := v.DATA.(map[string]interface{})
-			err = models.HandleEiaSteroData(data, eiaSteroIndex)
+			err = models.HandleEiaSteoData(data, eiaSteoIndex)
 			if err != nil {
 				return
 			}
-			//if eiaSteroIndex.IndexCode == "PATC_OECD_EUROPE" {
+			//if eiaSteoIndex.IndexCode == "PATC_OECD_EUROPE" {
 			//	os.Exit(0)
 			//}
 		}
@@ -163,17 +163,17 @@ func syncEiaSteroData() (err error) {
 }
 
 // queryData 接口请求网站数据
-func queryData(eiaSteroUrl string) (eiaSteroData EiaSteroData, err error) {
-	body, err := http.Get(eiaSteroUrl)
+func queryData(eiaSteoUrl string) (eiaSteoData EiaSteoData, err error) {
+	body, err := http.Get(eiaSteoUrl)
 	if err != nil {
 		fmt.Println("err:", err)
 	}
-	//utils.FileLog.Info("eia stero 报告数据:" + string(body))
-	err = json.Unmarshal(body, &eiaSteroData)
+	//utils.FileLog.Info("eia steo 报告数据:" + string(body))
+	err = json.Unmarshal(body, &eiaSteoData)
 	return
 }
 
-type EiaSteroData struct {
+type EiaSteoData struct {
 	SERIESDATA struct {
 		DATACOLUMNS []interface{} `json:"DATACOLUMNS"`
 		ROWS        []interface{} `json:"ROWS"`
@@ -197,8 +197,8 @@ type EiaSteroData struct {
 	} `json:"VIEWSDATA"`
 }
 
-// EiaSteroNameMap 中英文互换
-var EiaSteroNameMap = map[string]string{
+// EiaSteoNameMap 中英文互换
+var EiaSteoNameMap = map[string]string{
 	"PAPR_OECD":           "OECD石油产量",
 	"PAPR_US":             "美国五十州石油产量",
 	"PAPR_CA":             "加拿大石油产量",