Browse Source

新增周度指标刷新任务

longyu 2 years ago
parent
commit
efbd144d77
4 changed files with 33 additions and 29 deletions
  1. 9 12
      init_serve/task.go
  2. 4 2
      models/index/index.go
  3. 20 5
      services/index.go
  4. 0 10
      utils/constants.go

+ 9 - 12
init_serve/task.go

@@ -1,7 +1,6 @@
 package init_serve
 
 import (
-	"fmt"
 	"github.com/robfig/cron/v3"
 	"hongze/mysteel_watch/services"
 	"hongze/mysteel_watch/utils"
@@ -22,23 +21,27 @@ func InitTask() {
 		panic("DownloadCvTask err" + err.Error())
 	}
 
-	//检测周度指标刷新
-
+	//每30分钟检测一次,指标生成
+	_, err = c.AddFunc("0 */30 * * * *", services.IndexRefreshWeek)
+	if err != nil {
+		global.LOG.Info("DownloadCvTask err" + err.Error())
+		panic("DownloadCvTask err" + err.Error())
+	}
 
+	//其他指标刷新
 	_, err = c.AddFunc("0 00 03 * * *", services.IndexRefreshAll)
 	if err != nil {
 		global.LOG.Info("DownloadCvTask err" + err.Error())
 		panic("DownloadCvTask err" + err.Error())
 	}
 
-	_, err = c.AddFunc("0 50 12 * * *", services.IndexRefreshAll)
+	//其他指标刷新
+	_, err = c.AddFunc("0 30 12 * * *", services.IndexRefreshAll)
 	if err != nil {
 		global.LOG.Info("DownloadCvTask err" + err.Error())
 		panic("DownloadCvTask err" + err.Error())
 	}
-
 	c.Start()
-
 	go watch.ListenFolderNew()
 }
 
@@ -52,10 +55,4 @@ func CheckIndexCreate() {
 		}
 	}()
 	err = services.IndexCreateCheck()
-}
-
-//定时刷新
-func RefreshTask() {
-	fmt.Println(time.Now().Format(utils.FormatDateTime))
-
 }

+ 4 - 2
models/index/index.go

@@ -87,7 +87,9 @@ func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshAll() (item []*BaseFromMys
 	return
 }
 
-func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshWeek(nowWeekZn string) (item []*BaseFromMysteelChemicalIndex, err error) {
-	err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).Where(" update_week = ? ", nowWeekZn).Find(&item).Error
+func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshWeek(nowWeekZn, startTime, endTime string) (item []*BaseFromMysteelChemicalIndex, err error) {
+	where := `update_week = ? AND ((update_time >=? AND update_time<=?) OR (update_time2 >=? AND update_time2<=?)) `
+	err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).Where(where, nowWeekZn, startTime, endTime, startTime, endTime).Find(&item).Error
+	//err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(d).Where(where, nowWeekZn, startTime, endTime, startTime, endTime).Find(&item).Error
 	return
 }

+ 20 - 5
services/index.go

@@ -14,6 +14,11 @@ import (
 	"time"
 )
 
+const (
+	FormatTime    = "15:04:05" //时间格式
+	FormatTimeStr = "15:04"    //时间格式
+)
+
 func IndexCreateCheck() (err error) {
 	fmt.Println("IndexCreateCheck")
 	indexObj := new(index.BaseFromMysteelChemicalIndex)
@@ -119,20 +124,28 @@ func IndexRefreshAll() {
 			MysteelChemicalRefresh(v.FilePath)
 		} else if v.Frequency == "年度" && nowDate == yearLast {
 			MysteelChemicalRefresh(v.FilePath)
-		} else {
+		} else if v.Frequency == "日度" {
 			MysteelChemicalRefresh(v.FilePath)
+		} else {
+			global.LOG.Info("无效频度:" + v.IndexCode + ";" + v.Frequency)
 		}
+		time.Sleep(1 * time.Second)
 	}
 	return
 }
 
-
+//刷新周度指标数据
 func IndexRefreshWeek() {
 	nowWeek := time.Now().Weekday().String()
 	nowWeekZn := utils.GetWeekZn(nowWeek)
+	fmt.Println("nowWeekZn:" + nowWeekZn)
 
 	indexObj := new(index.BaseFromMysteelChemicalIndex)
-	list, err := indexObj.GetIndexRefreshWeek(nowWeek)
+
+	startTime := time.Now().Add(-1 * time.Minute).Format(FormatTimeStr)
+	endTime := time.Now().Add(1 * time.Minute).Format(FormatTimeStr)
+
+	list, err := indexObj.GetIndexRefreshWeek(nowWeekZn, startTime, endTime)
 	if err != nil {
 		fmt.Println("GetIndexRefreshWeek Err:" + err.Error())
 		return
@@ -153,9 +166,11 @@ func IndexRefreshWeek() {
 			MysteelChemicalRefresh(v.FilePath)
 		} else if v.Frequency == "年度" && nowDate == yearLast {
 			MysteelChemicalRefresh(v.FilePath)
-		} else {
+		} else if v.Frequency == "日度" {
 			MysteelChemicalRefresh(v.FilePath)
+		} else {
+			global.LOG.Info("无效频度:" + v.IndexCode + ";" + v.Frequency)
 		}
 	}
 	return
-}
+}

+ 0 - 10
utils/constants.go

@@ -27,14 +27,4 @@ const (
 	EmailSendToUsers = "317699326@qq.com;984198890@qq.com;"
 )
 
-// 招聘流程状态:0待一面结果建议、1待一面结果确认、2待二面结果建议、3待二面结果确认、4已通过;5已淘汰
-const (
-	RcrtProcessStatusWaitFirstRecommend = 0
-	RcrtProcessStatusWaitFirstResult = 1
-	RcrtProcessStatusWaitSecondRecommend = 2
-	RcrtProcessStatusWaitSecondResult = 3
-	RcrtProcessStatusWPass = 4
-	RcrtProcessStatusOut = 5
-)
-
 const DefaultPwd = "9cbf8a4dcb8e30682b927f352d6559a0" //初始密码:123456a