Browse Source

添加判断今日是否需要发起刷新逻辑

xyxie 1 year ago
parent
commit
a28acd72ce
2 changed files with 25 additions and 4 deletions
  1. 2 1
      models/data_stat/edb_info_update_log.go
  2. 23 3
      services/edb_info_stat.go

+ 2 - 1
models/data_stat/edb_info_update_log.go

@@ -24,7 +24,8 @@ type EdbInfoUpdateLog struct {
 	EdbCreateTime            time.Time `description:"指标创建时间"`
 	EdbModifyTime            time.Time `description:"指标修改时间"`
 	CreateTime               time.Time `description:"创建时间"`
-	UpdateTime               time.Time `description:"刷新/修改时间"`
+	UpdateSysUserId          int       `description:"变更人ID"`
+	UpdateSysUserRealName    string    `description:"变更人姓名"`
 	LatestDate               string    `description:"数据最新日期"`
 	LatestValue              float64   `description:"数据最新值"`
 	TerminalCode             string    `description:"终端编码,用于配置在机器上"`

+ 23 - 3
services/edb_info_stat.go

@@ -35,7 +35,6 @@ func AddEdbInfoUpdateLog(edbInfoId int, updateResult int, updateFailedReason str
 		log.EdbCreateTime = edbInfo.CreateTime
 		log.EdbModifyTime = edbInfo.ModifyTime
 		log.CreateTime = time.Now()
-		log.UpdateTime = time.Now()
 		log.LatestDate = edbInfo.LatestDate
 		log.LatestValue = edbInfo.LatestValue
 		log.TerminalCode = edbInfo.TerminalCode
@@ -136,7 +135,7 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 				//HasRefresh:               v.HasRefresh,
 			}
 			// todo 判断是否需要当日更新
-			needRefresh, _ := checkEdbInfoNeedRefresh(v.EdbInfoId, v.Frequency)
+			needRefresh, _ := checkMySteelEdbInfoNeedRefresh(v.Frequency)
 			tmp.NeedRefresh = needRefresh
 
 			// 判断是否当日新增
@@ -180,8 +179,29 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 	return
 }
 
-func checkEdbInfoNeedRefresh(edbInfoId int, frequency string) (needRefresh int, err error) {
+func checkMySteelEdbInfoNeedRefresh(frequency string) (needRefresh int, err error) {
+	now := time.Now()
+	week := int(now.Weekday())
+	//日度
+	if week >= 1 && week <= 6 {
+		if frequency == "日度" {
+			needRefresh = 1
+			return
+		}
+	}
+	time.Sleep(1 * time.Minute)
+	//周度
+	if week >= 3 && week <= 6 {
+		if frequency == "周度" {
+			needRefresh = 1
+			return
+		}
+	}
 
+	day := now.Day() //季度,月度,年度都是每个月1号刷新
+	if day == 1 {
+		needRefresh = 1
+	}
 	return
 }