Browse Source

fix:预测计算指标定时刷新

Roc 2 years ago
parent
commit
8793c6f372
3 changed files with 65 additions and 1 deletions
  1. 10 0
      services/data/base_edb_lib.go
  2. 48 1
      services/data/edb_info.go
  3. 7 0
      services/task.go

+ 10 - 0
services/data/base_edb_lib.go

@@ -121,6 +121,16 @@ func RefreshEdbCalculateData(edbInfoId int, edbCode, startDate string) (resp *mo
 	return
 }
 
+// RefreshPredictEdbCalculateData 刷新 预测计算指标 数据请求
+func RefreshPredictEdbCalculateData(edbInfoId int, edbCode, startDate string) (resp *models.BaseResponse, err error) {
+	param := make(map[string]interface{})
+	param["EdbCode"] = edbCode
+	param["EdbInfoId"] = edbInfoId
+	param["StartDate"] = startDate
+	resp, err = postRefreshEdbData(param, "predict_calculate/refresh")
+	return
+}
+
 // ExecPythonCode 执行python代码
 func ExecPythonCode(pythonCode string) (resp *models.BaseResponse, err error) {
 	param := make(map[string]interface{})

+ 48 - 1
services/data/edb_info.go

@@ -600,7 +600,7 @@ func CheckThsDataInterface(cont context.Context) (err error) {
 //	return err
 //}
 
-//刷新所有计算指标
+// RefreshDataFromCalculateAll 刷新所有计算指标
 func RefreshDataFromCalculateAll() (err error) {
 	defer func() {
 		if err != nil {
@@ -876,6 +876,53 @@ func RefreshDataFromCalculateAll() (err error) {
 	return err
 }
 
+// RefreshPredictDataFromCalculateAll 刷新所有预测计算指标
+func RefreshPredictDataFromCalculateAll() (err error) {
+	defer func() {
+		if err != nil {
+			utils.FileLog.Info("RefreshDataFromCalculateAll Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCalculateAll ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromCalculateAll ErrMsg:"+err.Error(), 3)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+	// 查询 普通指标的计算指标
+	condition += " AND edb_type=?  AND edb_info_type=? "
+	pars = append(pars, 2, 1)
+
+	//condition += " AND modify_time<? "
+	//pars = append(pars, "2022-03-02 17:03:52")
+
+	//condition += " AND is_update=1 "
+
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return err
+	}
+	for _, v := range items {
+		//edbInfoId := v.EdbInfoId
+		//edbCode := v.EdbCode
+		source := v.Source
+		startDate := v.StartDate.Format(utils.FormatDate)
+		if startDate == "0001-01-01" {
+			continue
+		}
+
+		fmt.Println(v.EdbInfoId, v.EdbCode, v.EdbName, v.SourceName, source, "======RefreshPredictEdbCalculateData:", startDate)
+		result, err := RefreshPredictEdbCalculateData(v.EdbInfoId, v.EdbCode, startDate)
+		if err != nil {
+			err = errors.New("RefreshPredictEdbCalculateData Err:" + err.Error())
+			return err
+		}
+		if result.Ret != 200 {
+			err = errors.New("RefreshPredictEdbCalculateData err;msg:" + result.Msg + ";errMsg:" + result.ErrMsg)
+			return err
+		}
+	}
+	return err
+}
+
 //刷新手工指标数据
 func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
 	defer func() {

+ 7 - 0
services/task.go

@@ -267,6 +267,9 @@ func RefreshData(cont context.Context) (err error) {
 	wg.Wait()
 	////计算指标
 	data.RefreshDataFromCalculateAll()
+
+	// 预测计算指标
+	data.RefreshPredictDataFromCalculateAll()
 	time.Sleep(5 * time.Second)
 	data.RefreshNotice()
 	fmt.Println("Refresh End")
@@ -291,6 +294,8 @@ func RefreshTradeData(cont context.Context) (err error) {
 	wg.Wait()
 	//计算指标
 	data.RefreshDataFromCalculateAll()
+	// 计算预测指标
+	data.RefreshPredictDataFromCalculateAll()
 
 	return
 }
@@ -305,6 +310,8 @@ func RefreshEicData(cont context.Context) (err error) {
 	wg.Wait()
 	//计算指标
 	data.RefreshDataFromCalculateAll()
+	// 计算预测指标
+	data.RefreshPredictDataFromCalculateAll()
 
 	return
 }