Browse Source

fix:eia steo更新

Roc 2 years ago
parent
commit
163e029484

+ 4 - 0
models/data_manage/edb_data_base.go

@@ -73,6 +73,10 @@ func GetEdbDataTableName(source int) (tableName string) {
 		tableName = "edb_data_predict_calculate_tcz"
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
 		tableName = "edb_data_mysteel_chemical"
+	case utils.DATA_SOURCE_CALCULATE_CJJX:
+		tableName = "edb_data_calculate_cjjx"
+	case utils.DATA_SOURCE_EIA_STEO:
+		tableName = "edb_data_eia_steo"
 	default:
 		tableName = ""
 		errors.New("无效的渠道:" + strconv.Itoa(source))

+ 3 - 0
services/data/base_edb_lib.go

@@ -102,6 +102,9 @@ func RefreshEdbData(edbInfoId, source int, edbCode, startDate string) (resp *mod
 		urlStr = "google_travel/refresh"
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
 		urlStr = "mysteel_chemical/refresh"
+		urlStr = "mysteel_chemical/refresh"
+	case utils.DATA_SOURCE_EIA_STEO:
+		urlStr = "eia_steo/refresh"
 	}
 	if urlStr == "" {
 		err = fmt.Errorf(fmt.Sprint("source:", source, ";未实现该指标的刷新接口,请联系管理员"))

+ 58 - 0
services/data/edb_info.go

@@ -1790,3 +1790,61 @@ func RefreshDataFromMysteelChemical(wg *sync.WaitGroup) (err error) {
 	}
 	return err
 }
+
+// RefreshDataFromEiaSteo 刷新eia steo 报告数据
+func RefreshDataFromEiaSteo(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromEiaSteo Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromGl ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromEiaSteo ErrMsg:"+err.Error(), 3)
+		}
+		wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += " AND source=? "
+	pars = append(pars, utils.DATA_SOURCE_EIA_STEO)
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return errors.New("GetEdbInfoByCondition:" + err.Error())
+	}
+
+	//var endDate string
+	//endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
+	for _, v := range items {
+		startDate := ""
+		if v.Frequency == "日度" {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		} else if v.Frequency == "周度" {
+			startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
+		} else if v.Frequency == "月度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "季度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "年度" {
+			startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
+		} else {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		}
+
+		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
+		if err != nil {
+			return errors.New("RefreshDataFromEiaSteoData Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshDataFromEiaSteoData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+		}
+		//item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
+		//if err != nil {
+		//	return err
+		//}
+		//if item != nil {
+		//	err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
+		//	if err != nil {
+		//		return err
+		//	}
+		//}
+	}
+	return err
+}

+ 3 - 1
services/task.go

@@ -236,7 +236,7 @@ func OneMinute(cont context.Context) (err error) {
 
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
-	wg.Add(12)
+	wg.Add(13)
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//}
@@ -263,6 +263,8 @@ func RefreshData(cont context.Context) (err error) {
 	go data.RefreshDataFromGoogleTravel(&wg)
 	//钢联化工
 	go data.RefreshDataFromMysteelChemical(&wg)
+	//eia steo报告指标
+	go data.RefreshDataFromEiaSteo(&wg)
 
 	wg.Wait()
 	////计算指标

+ 2 - 0
utils/constants.go

@@ -98,6 +98,8 @@ const (
 	DATA_SOURCE_PREDICT_CALCULATE_TBZ            //预测指标同比值->32
 	DATA_SOURCE_PREDICT_CALCULATE_TCZ            //预测指标同差值->33
 	DATA_SOURCE_MYSTEEL_CHEMICAL                 //钢联化工->34
+	DATA_SOURCE_CALCULATE_CJJX                   //超季节性->35
+	DATA_SOURCE_EIA_STEO                         //eia steo报告->36
 )
 
 //http://datawind.hzinsights.com:8040/hz_server