Browse Source

Merge branch 'hotfix/bug5654_mysteel_stat' into debug

xyxie 4 months ago
parent
commit
f0a66fec5b
6 changed files with 25 additions and 11 deletions
  1. 1 0
      go.mod
  2. 2 0
      go.sum
  3. 1 1
      services/data/chart_info.go
  4. 8 0
      services/data/edb_info.go
  5. 10 7
      services/edb_refresh.go
  6. 3 3
      services/task.go

+ 1 - 0
go.mod

@@ -14,6 +14,7 @@ require (
 	github.com/olivere/elastic/v7 v7.0.32
 	github.com/rdlucklib/rdluck_tools v1.0.3
 	github.com/shopspring/decimal v1.3.1
+	github.com/tealeg/xlsx v1.0.5
 	golang.org/x/net v0.21.0
 	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/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/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/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=

+ 1 - 1
services/data/chart_info.go

@@ -5,7 +5,7 @@ import (
 	"fmt"
 )
 
-//设置图表中,指标的最新日期
+// SetChartEdbEndDate 设置图表中,指标的最新日期
 func SetChartEdbEndDate() {
 	var err error
 	defer func() {

+ 8 - 0
services/data/edb_info.go

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

+ 10 - 7
services/edb_refresh.go

@@ -755,14 +755,17 @@ func DisableEdbRefresh(cont context.Context) (err error) {
 			for _, indexItem := range indexItems {
 				// 判断指标是否被创建
 				if _, ok := edbMap[indexItem.IndexCode]; !ok {
-					stopRefreshIds = append(stopRefreshIds, indexItem.BaseFromMysteelChemicalIndexId)
-					if len(stopRefreshIds) > 100 {
-						err = data_manage.SetStopRefreshMysteelChemicalIndex(stopRefreshIds)
-						if err != nil {
-							err = fmt.Errorf("设置禁止刷新失败:%v", err)
-							return
+					// 判断大写的指标编码是否存在
+					if _, ok1 := edbMap[strings.ToLower(indexItem.IndexCode)]; !ok1 {
+						stopRefreshIds = append(stopRefreshIds, indexItem.BaseFromMysteelChemicalIndexId)
+						if len(stopRefreshIds) > 100 {
+							err = data_manage.SetStopRefreshMysteelChemicalIndex(stopRefreshIds)
+							if err != nil {
+								err = fmt.Errorf("设置禁止刷新失败:%v", err)
+								return
+							}
+							stopRefreshIds = make([]int32, 0)
 						}
-						stopRefreshIds = make([]int32, 0)
 					}
 				}
 			}

+ 3 - 3
services/task.go

@@ -151,14 +151,14 @@ func releaseTask() {
 
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
-	wg.Add(12)
+	wg.Add(14)
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//}
 	//彭博
-	//go data.RefreshDataFromPb(&wg)
+	go data.RefreshDataFromPb(&wg)
 	//彭博财务
-	//go data.RefreshDataFromPbFinance(&wg)
+	go data.RefreshDataFromPbFinance(&wg)
 	//手工数据
 	go data.RefreshDataFromManual(&wg)
 	//隆众数据