Explorar el Código

message:commit```
添加基础刷新开始日期并优化数据刷新逻辑- 在 utils/constants.go 中添加 BaseEdbRefreshStartDate 常量,用于指定指标的基础刷新开始日期
- 修改 edb_info.go 和 gn.go 中的数据刷新逻辑,增加对空结束日期的处理
- 更新 edb_refresh.go 中的刷新逻辑,优先使用 BaseEdbRefreshStartDate
- 在 config.go 中添加 IsStartReleaseTask 配置项,用于控制是否执行生产环境的定时任务刷新
```

Roc hace 5 meses
padre
commit
d2c8b3c320
Se han modificado 6 ficheros con 35 adiciones y 19 borrados
  1. 3 0
      services/data/edb_info.go
  2. 19 15
      services/edb_refresh.go
  3. 1 1
      services/eta_bridge/gn.go
  4. 2 2
      services/task.go
  5. 7 1
      utils/config.go
  6. 3 0
      utils/constants.go

+ 3 - 0
services/data/edb_info.go

@@ -1430,6 +1430,9 @@ func NoneConfigRefreshDataGn(wg *sync.WaitGroup) (err error) {
 
 		for _, v := range items {
 			startDate := ""
+			if v.EndDate.IsZero() {
+				startDate = utils.BaseEdbRefreshStartDate
+			}
 			if v.Frequency == "日度" {
 				startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
 			} else if v.Frequency == "周度" {

+ 19 - 15
services/edb_refresh.go

@@ -353,22 +353,26 @@ func BaseRefreshData(wg *sync.WaitGroup, source, subSource int, items []*edb_ref
 		//if isRefreshByStartDate {
 		//	startDate = v.StartDate.Format(utils.FormatDate)
 		//} else {
-		if v.Frequency == "日度" {
-			startDate = v.EndDate.AddDate(0, 0, -dataRefreshNum).Format(utils.FormatDate)
-		} else if v.Frequency == "周度" {
-			startDate = v.EndDate.AddDate(0, 0, -(dataRefreshNum * 7)).Format(utils.FormatDate)
-		} else if v.Frequency == "旬度" {
-			startDate = v.EndDate.AddDate(0, 0, -(dataRefreshNum * 10)).Format(utils.FormatDate)
-		} else if v.Frequency == "月度" {
-			startDate = v.EndDate.AddDate(0, -dataRefreshNum, 0).Format(utils.FormatDate)
-		} else if v.Frequency == "季度" {
-			startDate = v.EndDate.AddDate(0, -dataRefreshNum*3, 0).Format(utils.FormatDate)
-		} else if v.Frequency == "半年度" {
-			startDate = v.EndDate.AddDate(0, -dataRefreshNum*6, 0).Format(utils.FormatDate)
-		} else if v.Frequency == "年度" {
-			startDate = v.EndDate.AddDate(-dataRefreshNum, 0, 0).Format(utils.FormatDate)
+		if v.EndDate.IsZero() {
+			startDate = utils.BaseEdbRefreshStartDate
 		} else {
-			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+			if v.Frequency == "日度" {
+				startDate = v.EndDate.AddDate(0, 0, -dataRefreshNum).Format(utils.FormatDate)
+			} else if v.Frequency == "周度" {
+				startDate = v.EndDate.AddDate(0, 0, -(dataRefreshNum * 7)).Format(utils.FormatDate)
+			} else if v.Frequency == "旬度" {
+				startDate = v.EndDate.AddDate(0, 0, -(dataRefreshNum * 10)).Format(utils.FormatDate)
+			} else if v.Frequency == "月度" {
+				startDate = v.EndDate.AddDate(0, -dataRefreshNum, 0).Format(utils.FormatDate)
+			} else if v.Frequency == "季度" {
+				startDate = v.EndDate.AddDate(0, -dataRefreshNum*3, 0).Format(utils.FormatDate)
+			} else if v.Frequency == "半年度" {
+				startDate = v.EndDate.AddDate(0, -dataRefreshNum*6, 0).Format(utils.FormatDate)
+			} else if v.Frequency == "年度" {
+				startDate = v.EndDate.AddDate(-dataRefreshNum, 0, 0).Format(utils.FormatDate)
+			} else {
+				startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+			}
 		}
 		//}
 		fmt.Println(startDate)

+ 1 - 1
services/eta_bridge/gn.go

@@ -806,7 +806,7 @@ func InitRefreshEdb(cont context.Context) (err error) {
 	for _, v := range CurrEdbInfoMap {
 		count--
 		fmt.Println("剩余:", count, "条数据待初始化")
-		fmt.Println(data.RefreshEdbData(v.EdbInfoId, v.Source, v.SubSource, v.EdbCode, "1899-01-01"))
+		fmt.Println(data.RefreshEdbData(v.EdbInfoId, v.Source, v.SubSource, v.EdbCode, utils.BaseEdbRefreshStartDate))
 	}
 	return
 }

+ 2 - 2
services/task.go

@@ -15,8 +15,8 @@ import (
 
 func Task() {
 	fmt.Println("task start")
-	//如果是生产环境,才需要走这些任务
-	if utils.RunMode == "release" {
+	// 如果开启了需要走生产环境的配置,才需要走这些任务
+	if utils.RunMode == "release" || utils.IsStartReleaseTask {
 		releaseTask()
 	}
 	// 定时发布智能研报

+ 7 - 1
utils/config.go

@@ -35,7 +35,8 @@ var (
 	EmailSendToUsers               string // 邮件提醒人员
 	RefreshEdbInfoEmailSendToUsers string // 刷新完成通知邮件人员
 	// AlarmMsgUrl 报警服务地址
-	AlarmMsgUrl string
+	AlarmMsgUrl        string
+	IsStartReleaseTask bool // 是否开启正式的定时任务刷新
 )
 
 // 经济数据库
@@ -283,6 +284,11 @@ func init() {
 		IsPCSG = config["is_pcsg"]
 	}
 
+	// 是否执行生产环境的定时任务
+	if config["is_start_release_task"] == `true` {
+		IsStartReleaseTask = true
+	}
+
 	// 桥接服务
 	{
 		EtaBridgeUrl = config["eta_bridge_url"]                     // 桥接服务地址

+ 3 - 0
utils/constants.go

@@ -214,3 +214,6 @@ const (
 )
 
 //const END_DATE = time.Date(1900, 1, 1, 0, 0, 0, 0, time.Local)
+
+// BaseEdbRefreshStartDate 指标的基础刷新开始日期
+const BaseEdbRefreshStartDate = `1899-01-01`