Browse Source

fix:新增指标刷新

Roc 2 years ago
parent
commit
5f8d135632
4 changed files with 162 additions and 52 deletions
  1. 8 0
      services/data/base_edb_lib.go
  2. 92 0
      services/data/edb_info.go
  3. 5 1
      services/task.go
  4. 57 51
      utils/constants.go

+ 8 - 0
services/data/base_edb_lib.go

@@ -105,6 +105,14 @@ func RefreshEdbData(edbInfoId, source int, edbCode, startDate string) (resp *mod
 		urlStr = "mysteel_chemical/refresh"
 	case utils.DATA_SOURCE_EIA_STEO:
 		urlStr = "eia_steo/refresh"
+	case utils.DATA_SOURCE_PREDICT:
+		urlStr = "predict/refresh"
+	case utils.DATA_SOURCE_COM_TRADE:
+		urlStr = "com_trade/refresh"
+	case utils.DATA_SOURCE_SCI:
+		urlStr = "sci/refresh"
+	case utils.DATA_SOURCE_BAIINFO:
+		urlStr = "baiinfo/refresh"
 	}
 	if urlStr == "" {
 		err = fmt.Errorf(fmt.Sprint("source:", source, ";未实现该指标的刷新接口,请联系管理员"))

+ 92 - 0
services/data/edb_info.go

@@ -1857,3 +1857,95 @@ func RefreshDataFromEiaSteo(wg *sync.WaitGroup) (err error) {
 	}
 	return err
 }
+
+// RefreshDataFromComTrade 刷新 UN 数据
+func RefreshDataFromComTrade(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromComTrade Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromGl ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromComTrade ErrMsg:"+err.Error(), 3)
+		}
+		//wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += " AND source=? "
+	pars = append(pars, utils.DATA_SOURCE_COM_TRADE)
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return errors.New("GetEdbInfoByCondition:" + err.Error())
+	}
+
+	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("RefreshDataFromComTrade Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshDataFromComTrade Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+		}
+	}
+	return err
+}
+
+// RefreshDataFromSci 刷新 卓创 数据
+func RefreshDataFromSci(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromSci Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromGl ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromSci ErrMsg:"+err.Error(), 3)
+		}
+		//wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += " AND source=? "
+	pars = append(pars, utils.DATA_SOURCE_SCI)
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return errors.New("GetEdbInfoByCondition:" + err.Error())
+	}
+
+	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("RefreshDataFromSci Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshDataFromSci Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+		}
+	}
+	return err
+}

+ 5 - 1
services/task.go

@@ -245,7 +245,7 @@ func OneMinute(cont context.Context) (err error) {
 
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
-	wg.Add(13)
+	wg.Add(15)
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//}
@@ -274,6 +274,10 @@ func RefreshData(cont context.Context) (err error) {
 	go data.RefreshDataFromMysteelChemical(&wg)
 	//eia steo报告指标
 	go data.RefreshDataFromEiaSteo(&wg)
+	//UN报告指标
+	go data.RefreshDataFromComTrade(&wg)
+	//卓创报告指标
+	go data.RefreshDataFromSci(&wg)
 
 	wg.Wait()
 	////计算指标

+ 57 - 51
utils/constants.go

@@ -64,57 +64,63 @@ const (
 
 //数据来源渠道
 const (
-	DATA_SOURCE_THS                   = iota + 1 //同花顺
-	DATA_SOURCE_WIND                             //wind
-	DATA_SOURCE_PB                               //彭博
-	DATA_SOURCE_CALCULATE                        //计算指标
-	DATA_SOURCE_CALCULATE_LJZZY                  //累计值转月
-	DATA_SOURCE_CALCULATE_TBZ                    //同比值
-	DATA_SOURCE_CALCULATE_TCZ                    //同差值
-	DATA_SOURCE_CALCULATE_NSZYDPJJS              //N数值移动平均计算
-	DATA_SOURCE_MANUAL                           //手工指标
-	DATA_SOURCE_LZ                               //隆众
-	DATA_SOURCE_YS                               //有色
-	DATA_SOURCE_CALCULATE_HBZ                    //环比值->12
-	DATA_SOURCE_CALCULATE_HCZ                    //环差值->13
-	DATA_SOURCE_CALCULATE_BP                     //变频->14
-	DATA_SOURCE_GL                               //钢联->15
-	DATA_SOURCE_ZZ                               //郑商所->16
-	DATA_SOURCE_DL                               //大商所->17
-	DATA_SOURCE_SH                               //上期所->18
-	DATA_SOURCE_CFFEX                            //中金所->19
-	DATA_SOURCE_SHFE                             //上期能源->20
-	DATA_SOURCE_GIE                              //欧洲天然气->21
-	DATA_SOURCE_CALCULATE_TIME_SHIFT             //时间移位->22
-	DATA_SOURCE_CALCULATE_ZJPJ                   //直接拼接->23
-	DATA_SOURCE_CALCULATE_LJZTBPJ                //累计值同比拼接->24
-	DATA_SOURCE_LT                               //路透->25
-	DATA_SOURCE_COAL                             //煤炭网->26
-	DATA_SOURCE_PYTHON                           //python代码->27
-	DATA_SOURCE_PB_FINANCE                       //彭博财务数据->28
-	DATA_SOURCE_GOOGLE_TRAVEL                    //谷歌出行->29
-	DATA_SOURCE_PREDICT                          //普通预测指标->30
-	DATA_SOURCE_PREDICT_CALCULATE                //预测指标运算->31
-	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
-	DATA_SOURCE_CALCULATE_NHCC                         //计算指标(拟合残差)->37
-	DATA_SOURCE_COM_TRADE                              //联合国商品贸易数据->38
-	DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS            //预测指标 - N数值移动平均计算 -> 39
-	DATA_SOURCE_CALCULATE_ADJUST                       //数据调整->40
-	DATA_SOURCE_SCI                                    //卓创数据(红桃三)->41
-	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                //预测指标 - 累计值转月->42
-	DATA_SOURCE_PREDICT_CALCULATE_HBZ                  //预测指标 - 环比值->43
-	DATA_SOURCE_PREDICT_CALCULATE_HCZ                  //预测指标 - 环差值->44
-	DATA_SOURCE_PREDICT_CALCULATE_BP                   //预测指标 - 变频->45
-	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT           //预测指标 - 时间移位->46
-	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                 //预测指标 - 直接拼接->47
-	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ              //预测指标 - 累计值同比拼接->48
-	DATA_SOURCE_PREDICT_CALCULATE_CJJX                 //预测指标 - 超季节性->49
-	DATA_SOURCE_PREDICT_CALCULATE_NHCC                 //预测指标 - 计算指标(拟合残差)->50
-	DATA_SOURCE_CALCULATE_JP                           //变频->51
+	DATA_SOURCE_THS                          = iota + 1 //同花顺
+	DATA_SOURCE_WIND                                    //wind->2
+	DATA_SOURCE_PB                                      //彭博->3
+	DATA_SOURCE_CALCULATE                               //指标运算->4
+	DATA_SOURCE_CALCULATE_LJZZY                         //累计值转月->5
+	DATA_SOURCE_CALCULATE_TBZ                           //同比值->6
+	DATA_SOURCE_CALCULATE_TCZ                           //同差值->7
+	DATA_SOURCE_CALCULATE_NSZYDPJJS                     //N数值移动平均计算->8
+	DATA_SOURCE_MANUAL                                  //手工指标->9
+	DATA_SOURCE_LZ                                      //隆众->10
+	DATA_SOURCE_YS                                      //有色->11
+	DATA_SOURCE_CALCULATE_HBZ                           //环比值->12
+	DATA_SOURCE_CALCULATE_HCZ                           //环差值->13
+	DATA_SOURCE_CALCULATE_BP                            //变频->14
+	DATA_SOURCE_GL                                      //钢联->15
+	DATA_SOURCE_ZZ                                      //郑商所->16
+	DATA_SOURCE_DL                                      //大商所->17
+	DATA_SOURCE_SH                                      //上期所->18
+	DATA_SOURCE_CFFEX                                   //中金所->19
+	DATA_SOURCE_SHFE                                    //上期能源->20
+	DATA_SOURCE_GIE                                     //欧洲天然气->21
+	DATA_SOURCE_CALCULATE_TIME_SHIFT                    //时间移位->22
+	DATA_SOURCE_CALCULATE_ZJPJ                          //直接拼接->23
+	DATA_SOURCE_CALCULATE_LJZTBPJ                       //累计值同比拼接->24
+	DATA_SOURCE_LT                                      //路透->25
+	DATA_SOURCE_COAL                                    //中国煤炭网->26
+	DATA_SOURCE_PYTHON                                  //python代码->27
+	DATA_SOURCE_PB_FINANCE                              //彭博财务数据->28
+	DATA_SOURCE_GOOGLE_TRAVEL                           //谷歌出行->29
+	DATA_SOURCE_PREDICT                                 //普通预测指标->30
+	DATA_SOURCE_PREDICT_CALCULATE                       //预测指标运算->31
+	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
+	DATA_SOURCE_CALCULATE_NHCC                          //计算指标(拟合残差)->37
+	DATA_SOURCE_COM_TRADE                               //联合国商品贸易数据->38
+	DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS             //预测指标 - N数值移动平均计算 -> 39
+	DATA_SOURCE_CALCULATE_ADJUST                        //数据调整->40
+	DATA_SOURCE_SCI                                     //卓创数据(红桃三)->41
+	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                 //预测指标 - 累计值转月->42
+	DATA_SOURCE_PREDICT_CALCULATE_HBZ                   //预测指标 - 环比值->43
+	DATA_SOURCE_PREDICT_CALCULATE_HCZ                   //预测指标 - 环差值->44
+	DATA_SOURCE_PREDICT_CALCULATE_BP                    //预测指标 - 变频->45
+	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT            //预测指标 - 时间移位->46
+	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                  //预测指标 - 直接拼接->47
+	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ               //预测指标 - 累计值同比拼接->48
+	DATA_SOURCE_PREDICT_CALCULATE_CJJX                  //预测指标 - 超季节性->49
+	DATA_SOURCE_PREDICT_CALCULATE_NHCC                  //预测指标 - 计算指标(拟合残差)->50
+	DATA_SOURCE_CALCULATE_JP                            //变频->51
+	DATA_SOURCE_CALCULATE_NH                            //年化->52
+	DATA_SOURCE_CALCULATE_KSZS                          //扩散指数->53
+	DATA_SOURCE_PREDICT_CALCULATE_JP                    //预测指标 - 计算指标(降频)->54
+	DATA_SOURCE_PREDICT_CALCULATE_NH                    //预测指标 - 计算指标(年化)->55
+	DATA_SOURCE_PREDICT_CALCULATE_KSZS                  //预测指标 - 计算指标(扩散指数)->56
+	DATA_SOURCE_BAIINFO                                 //百川盈孚 ->57
 )
 
 //http://datawind.hzinsights.com:8040/hz_server