Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Roc пре 6 месеци
родитељ
комит
2a1f7dfd1e
5 измењених фајлова са 37 додато и 3 уклоњено
  1. 1 0
      go.mod
  2. 2 0
      go.sum
  3. 8 0
      services/data/edb_info.go
  4. 19 3
      services/task.go
  5. 7 0
      utils/config.go

+ 1 - 0
go.mod

@@ -14,6 +14,7 @@ require (
 	github.com/olivere/elastic/v7 v7.0.32
 	github.com/olivere/elastic/v7 v7.0.32
 	github.com/rdlucklib/rdluck_tools v1.0.3
 	github.com/rdlucklib/rdluck_tools v1.0.3
 	github.com/shopspring/decimal v1.3.1
 	github.com/shopspring/decimal v1.3.1
+	github.com/tealeg/xlsx v1.0.5
 	golang.org/x/net v0.21.0
 	golang.org/x/net v0.21.0
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
 )
 )

+ 2 - 0
go.sum

@@ -191,6 +191,8 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs
 github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
 github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
 github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
 github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
+github.com/tealeg/xlsx v1.0.5 h1:+f8oFmvY8Gw1iUXzPk+kz+4GpbDZPK1FhPiQRd+ypgE=
+github.com/tealeg/xlsx v1.0.5/go.mod h1:btRS8dz54TDnvKNosuAqxrM1QgN1udgk9O34bDCnORM=
 github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
 github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
 github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
 github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
 github.com/ylywyn/jpush-api-go-client v0.0.0-20190906031852-8c4466c6e369/go.mod h1:Nv7wKD2/bCdKUFNKcJRa99a+1+aSLlCRJFriFYdjz/I=
 github.com/ylywyn/jpush-api-go-client v0.0.0-20190906031852-8c4466c6e369/go.mod h1:Nv7wKD2/bCdKUFNKcJRa99a+1+aSLlCRJFriFYdjz/I=

+ 8 - 0
services/data/edb_info.go

@@ -154,12 +154,20 @@ func RefreshDataFromPb(wg *sync.WaitGroup) (err error) {
 		return errors.New("GetEdbInfoByCondition:" + err.Error())
 		return errors.New("GetEdbInfoByCondition:" + err.Error())
 	}
 	}
 
 
+	nowDate := time.Now().Format(utils.FormatDate)
+	sunDay := int(time.Now().Weekday())
 	for _, v := range items {
 	for _, v := range items {
 		startDate := ""
 		startDate := ""
 		if v.Frequency == "日度" {
 		if v.Frequency == "日度" {
 			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
 			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+			if v.EndDate.Format(utils.FormatDate) == nowDate {
+				continue
+			}
 		} else if v.Frequency == "周度" {
 		} else if v.Frequency == "周度" {
 			startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
 			startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
+			if sunDay != 0 {
+				continue
+			}
 		} else if v.Frequency == "月度" {
 		} else if v.Frequency == "月度" {
 			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
 			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
 		} else if v.Frequency == "季度" {
 		} else if v.Frequency == "季度" {

+ 19 - 3
services/task.go

@@ -15,6 +15,7 @@ import (
 
 
 func Task() {
 func Task() {
 	fmt.Println("task start")
 	fmt.Println("task start")
+	
 	//如果是生产环境,才需要走这些任务
 	//如果是生产环境,才需要走这些任务
 	if utils.RunMode == "release" {
 	if utils.RunMode == "release" {
 		releaseTask()
 		releaseTask()
@@ -65,6 +66,14 @@ func releaseTask() {
 	configRefreshData := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", ConfigRefreshData)
 	configRefreshData := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", ConfigRefreshData)
 	task.AddTask("configRefreshData", configRefreshData)
 	task.AddTask("configRefreshData", configRefreshData)
 
 
+	// 定时刷新计算指标-默认每天的7:05,8:05分刷新计算指标
+	refreshCalculateEdbTaskTime := utils.RefreshCalculateEdbTaskTime
+	if refreshCalculateEdbTaskTime == "" {
+		refreshCalculateEdbTaskTime = "0 5 7,8 * * *"
+	}
+	refreshAllCalculateEdbData := task.NewTask("refreshAllCalculateEdbData", refreshCalculateEdbTaskTime, RefreshAllCalculateEdbData)
+	task.AddTask("refreshAllCalculateEdbData", refreshAllCalculateEdbData)
+
 	// 定时禁用钢联化工和wind指标的刷新状态
 	// 定时禁用钢联化工和wind指标的刷新状态
 	disableEdbRefresh := task.NewTask("disableEdbRefresh", "0 0 10 * * *", DisableEdbRefresh)
 	disableEdbRefresh := task.NewTask("disableEdbRefresh", "0 0 10 * * *", DisableEdbRefresh)
 	task.AddTask("disableEdbRefresh", disableEdbRefresh)
 	task.AddTask("disableEdbRefresh", disableEdbRefresh)
@@ -142,14 +151,14 @@ func releaseTask() {
 
 
 func RefreshData(cont context.Context) (err error) {
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
 	wg := sync.WaitGroup{}
-	wg.Add(12)
+	wg.Add(14)
 	//hour := time.Now().Hour()
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//if hour != 0 {
 	//}
 	//}
 	//彭博
 	//彭博
-	//go data.RefreshDataFromPb(&wg)
+	go data.RefreshDataFromPb(&wg)
 	//彭博财务
 	//彭博财务
-	//go data.RefreshDataFromPbFinance(&wg)
+	go data.RefreshDataFromPbFinance(&wg)
 	//手工数据
 	//手工数据
 	go data.RefreshDataFromManual(&wg)
 	go data.RefreshDataFromManual(&wg)
 	//隆众数据
 	//隆众数据
@@ -218,6 +227,13 @@ func RefreshData(cont context.Context) (err error) {
 	return
 	return
 }
 }
 
 
+// 刷新所有计算指标数据
+func RefreshAllCalculateEdbData(cont context.Context) (err error) {
+	////计算指标
+	err = data.RefreshDataFromCalculateAll()
+	return
+}
+
 // SyncBaseData 刷新基础数据
 // SyncBaseData 刷新基础数据
 func SyncBaseData(cont context.Context) (err error) {
 func SyncBaseData(cont context.Context) (err error) {
 	now := time.Now()
 	now := time.Now()

+ 7 - 0
utils/config.go

@@ -148,6 +148,10 @@ var (
 )
 )
 var HzDataApi string
 var HzDataApi string
 
 
+var (
+	RefreshCalculateEdbTaskTime string // 刷新计算指标的任务时间
+)
+
 func init() {
 func init() {
 	tmpRunMode, err := web.AppConfig.String("run_mode")
 	tmpRunMode, err := web.AppConfig.String("run_mode")
 	if err != nil {
 	if err != nil {
@@ -321,4 +325,7 @@ func init() {
 	PbRefreshFrequency = config["pb_refresh_frequency"]
 	PbRefreshFrequency = config["pb_refresh_frequency"]
 	// 彭博刷新开关
 	// 彭博刷新开关
 	PbRefreshOpen = config["pb_refresh_open"]
 	PbRefreshOpen = config["pb_refresh_open"]
+
+	//任务刷新时间
+	RefreshCalculateEdbTaskTime = config["refresh_calculate_edb_task_time"]
 }
 }