Roc 1 year ago
parent
commit
81ecdb4ea8
2 changed files with 69 additions and 1 deletions
  1. 63 0
      services/data/edb_info.go
  2. 6 1
      services/task.go

+ 63 - 0
services/data/edb_info.go

@@ -56,6 +56,69 @@ func RefreshDataFromThs(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
+// 刷新万得数据
+func RefreshDataFromWind(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromWind Err:" + err.Error())
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromWind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromWind ErrMsg:"+err.Error(), 3)
+		}
+		wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += ` AND source=? AND no_update = 0 `
+	pars = append(pars, utils.DATA_SOURCE_WIND)
+
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return err
+	}
+
+	//var endDate string
+	//endDate = time.Now().Format(utils.FormatDate)
+	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)
+		}
+		//err = SyncEdbDataByWind(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
+		//if err != nil {
+		//	return err
+		//}
+		//edbInfoId, source int, edbCode, startDate string) (resp *models.BaseResponse, err error) {
+		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
+		if err != nil {
+			return errors.New("RefreshEdbData Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshEdbData 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
+}
+
 // 刷新彭博数据
 func RefreshDataFromPb(wg *sync.WaitGroup) (err error) {
 	defer func() {

+ 6 - 1
services/task.go

@@ -22,6 +22,9 @@ func Task() {
 
 // 生产环境需要走的任务
 func releaseTask() {
+	wg := sync.WaitGroup{}
+	wg.Add(1)
+	data.RefreshDataFromWind(&wg)
 
 	//同步指标
 	syncHzDataIndex := task.NewTask("syncHzDataIndex", "0 30 0,18,21 * * *", SyncHzDataIndex)
@@ -42,9 +45,11 @@ func releaseTask() {
 func RefreshData(cont context.Context) (err error) {
 	fmt.Println("Refresh Start")
 	wg := sync.WaitGroup{}
-	wg.Add(6)
+	wg.Add(7)
 	//同花顺
 	go data.RefreshDataFromThs(&wg)
+	//同花顺
+	go data.RefreshDataFromWind(&wg)
 	//彭博
 	go data.RefreshDataFromPb(&wg)
 	//彭博财务