Browse Source

优化钢联指标获取

tuoling805 1 year ago
parent
commit
271c1f12fb
6 changed files with 43 additions and 74 deletions
  1. 0 4
      go.mod
  2. 1 1
      init_serve/task.go
  3. 0 20
      services/index_merge.go
  4. 35 29
      services/index_merge_v2.go
  5. 0 18
      watch/watch.go
  6. 7 2
      watch/watch_v2.go

+ 0 - 4
go.mod

@@ -8,7 +8,6 @@ require (
 	github.com/go-playground/locales v0.14.1
 	github.com/go-playground/universal-translator v0.18.1
 	github.com/go-playground/validator/v10 v10.14.0
-	github.com/go-redis/redis/v8 v8.11.5
 	github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
 	github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
 	github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
@@ -27,11 +26,8 @@ require (
 	github.com/PuerkitoBio/purell v1.1.1 // indirect
 	github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
 	github.com/bytedance/sonic v1.9.1 // indirect
-	github.com/cespare/xxhash/v2 v2.1.2 // indirect
 	github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
-	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/gabriel-vasile/mimetype v1.4.2 // indirect
-	github.com/garyburd/redigo v1.6.3 // indirect
 	github.com/gin-contrib/sse v0.1.0 // indirect
 	github.com/go-openapi/jsonpointer v0.19.5 // indirect
 	github.com/go-openapi/jsonreference v0.19.6 // indirect

+ 1 - 1
init_serve/task.go

@@ -27,7 +27,7 @@ func InitTask() {
 		global.LOG.Info("DownloadCvTask err" + err.Error())
 	}
 
-	//每3分钟检测一次指标文件是否更新
+	//每2分钟检测一次指标文件是否更新
 	_, err = c.AddFunc("0 */2 * * * *", watch.ReadWatchIndexFile)
 
 	_, err = c.AddFunc("0 0 17 1 * *", services.MergeMonthSeasonYearV2)

+ 0 - 20
services/index_merge.go

@@ -907,27 +907,7 @@ func GetIndexCommentV2(indexFilePath string, list []index.BaseFromMysteelChemica
 }
 
 func GetIndexCommentV3(indexFilePath, StartDate string, list []index.BaseFromMysteelChemicalIndex) (commentResult string, err error) {
-	fmt.Println("GetIndexCommentV3 start")
-	fmt.Println(indexFilePath)
-	fmt.Println("GetIndexCommentV3 end")
-	//runMode := "release"
 	indexInfo := new(IndexObj)
-	if utils.FileIsExist(indexFilePath) { //文件存在
-		//fmt.Println("utils.FileIsExist")
-		//getCommentStr := GetComment(indexFilePath)
-		////fmt.Println(getCommentStr)
-		//
-		//err = json.Unmarshal([]byte(getCommentStr), &indexInfo)
-		//if err != nil {
-		//	fmt.Println("json.Unmarshal err:" + err.Error())
-		//	return
-		//}
-		err = os.Remove(indexFilePath)
-		if err != nil {
-			fmt.Println("os.Remove Err:" + err.Error() + ";indexFilePath:" + indexFilePath)
-			return
-		}
-	}
 
 	indexInfo.BlankValue = "0"
 	indexInfo.CanMark = true

+ 35 - 29
services/index_merge_v2.go

@@ -1,19 +1,19 @@
 package services
 
 import (
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"github.com/xuri/excelize/v2"
 	"eta/mysteel_watch/global"
 	"eta/mysteel_watch/utils"
 	"eta/mysteel_watch/watch"
+	"fmt"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"github.com/xuri/excelize/v2"
 	"os"
 	"strconv"
 	"time"
 )
 
 const (
-	IndexPageSize = 150 //单个Sheet页,指标个数
+	IndexPageSize = 100 //单个Sheet页,指标个数
 )
 
 // Merge 合并指标
@@ -130,22 +130,30 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
 	}
 
 	fileName := filePre + ".xlsx" //保存的文件名称
-	templatePath := global.CONFIG.Serve.IndexSaveDir + "index_template.xlsx"
-	templateFile, tmpErr := excelize.OpenFile(templatePath)
-	if tmpErr != nil {
-		fmt.Println("打开文件失败,Err:" + tmpErr.Error())
-		err = tmpErr
-		return
-	}
+	//templatePath := global.CONFIG.Serve.IndexSaveDir + "index_template.xlsx"
+	//templateFile, tmpErr := excelize.OpenFile(templatePath)
+	//if tmpErr != nil {
+	//	fmt.Println("打开文件失败,Err:" + tmpErr.Error())
+	//	err = tmpErr
+	//	return
+	//}
 
 	mergeIndexFilePath := global.CONFIG.Serve.IndexMergeSaveDir + fileName
 
-	if utils.FileIsExist(mergeIndexFilePath) { //修改文件
-		err = os.Remove(mergeIndexFilePath)
-		if err != nil {
-			fmt.Println("os.Remove Err:" + err.Error() + "; mergeIndexFilePath:" + mergeIndexFilePath)
-			return err
+	templateFile := excelize.NewFile()
+	defer func() {
+		if err := templateFile.Close(); err != nil {
+			fmt.Println("templateFile.Close() err:" + err.Error())
 		}
+	}()
+
+	if utils.FileIsExist(mergeIndexFilePath) { //修改文件
+		//err = os.Remove(mergeIndexFilePath)
+		//if err != nil {
+		//	fmt.Println("os.Remove Err:" + err.Error() + "; mergeIndexFilePath:" + mergeIndexFilePath)
+		//	return err
+		//}
+		os.Remove(mergeIndexFilePath)
 	}
 
 	// 除去第一个excel表的剩余需要添加的指标数量
@@ -155,7 +163,7 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
 	totalPage = totalPage + 1 //需要加上除去在外面的指标(第一张excel)
 	fmt.Println("total:", total)
 	fmt.Println("totalPage:", totalPage)
-	sheetMap := make(map[string]string)
+	//sheetMap := make(map[string]string)
 	for i := 1; i <= totalPage; i++ { //sheet
 		startSize := paging.StartIndex(i, IndexPageSize)
 		// 当下需要合并到excel的指标
@@ -176,11 +184,9 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
 		fmt.Println("Sheet" + strconv.Itoa(i))
 
 		sheetName := "Sheet" + strconv.Itoa(i)
-		sheetMap[sheetName] = sheetName
-		if i > 1 {
-			templateFile.NewSheet(sheetName)
-		}
-
+		//sheetMap[sheetName] = sheetName
+		templateFile.NewSheet(sheetName)
+		templateFile.SetCellStr(sheetName, "A1", "钢联数据")
 		templateFile.DeleteComment(sheetName, "A1")
 		templateFile.AddComment(sheetName, "A1", commentResult)
 
@@ -189,19 +195,19 @@ func indexMergeV2(frequency, startDate, endDate, filePre string) (err error) {
 		//AddIndexRefreshToLpush(mergeIndexFilePath)
 	}
 
-	sheetList := templateFile.GetSheetList()
-	for _, v := range sheetList {
-		if _, ok := sheetMap[v]; !ok {
-			templateFile.DeleteSheet(v)
-		}
-	}
+	//sheetList := templateFile.GetSheetList()
+	//for _, v := range sheetList {
+	//	//if _, ok := sheetMap[v]; !ok {
+	//	//	templateFile.DeleteSheet(v)
+	//	//}
+	//}
 
 	if err = templateFile.SaveAs(mergeIndexFilePath); err != nil {
 		fmt.Println("保存失败,Err:" + err.Error())
 		templateFile.Close()
 		return
 	}
-	templateFile.Close()
+	defer templateFile.Close()
 	time.Sleep(1 * time.Second)
 	MysteelChemicalRefresh(mergeIndexFilePath)
 	return

+ 0 - 18
watch/watch.go

@@ -4,7 +4,6 @@ import (
 	"eta/mysteel_watch/global"
 	"eta/mysteel_watch/utils"
 	"fmt"
-	"os"
 	"strings"
 	"sync"
 	"time"
@@ -105,30 +104,14 @@ func WatchIndexFile(filePath string) {
 		fmt.Println("OpenFile:" + filePath + ",Err:" + err.Error())
 		return
 	}
-	var newFilePath string
 	defer func() {
 		if err := f.Close(); err != nil {
 			fmt.Println("FileClose Err:" + err.Error())
 			return
 		}
-		//重命名文件
-		if filePath != newFilePath {
-			err := os.Rename(filePath, newFilePath)
-			if err != nil {
-				fmt.Println("os.Rename Err:" + err.Error())
-			}
-		}
 	}()
-	//var runMode string
-	//if strings.Contains(filePath, "debug") {
-	//	runMode = "debug"
-	//} else {
-	//	runMode = "release"
-	//}
 
 	reqList := make([]*HandleMysteelIndex, 0)
-	//dir, fp := filepath.Split(filePath)
-
 	var wg = sync.WaitGroup{}
 	wg.Add(1)
 	go func() {
@@ -230,7 +213,6 @@ func WatchIndexFile(filePath string) {
 				indexItem.UpdateDate = updateDateMap[k]
 				indexItem.ExcelDataMap = excelDataMap
 				reqList = append(reqList, indexItem)
-				//mysteelIndexHandle(runMode, indexNameMap[k], indexCodeMap[k], unitMap[k], sourceMap[k], frequencyMap[k], startDateMap[k], endDateMap[k], describeMap[k], updateDateMap[k], excelDataMap)
 			}
 
 			resp := new(HandleMysteelIndexReq)

+ 7 - 2
watch/watch_v2.go

@@ -384,11 +384,17 @@ func WatchIndexFileMergeReleaseV2(filePath string) {
 }
 
 func ReadWatchIndexFile() {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("ReadWatchIndexFile Err:" + err.Error())
+		}
+	}()
 	cacheClient := global.CacheClient
 	if cacheClient == nil {
 		cacheClient = cache.New(365*24*time.Hour, 365*24*time.Hour)
 	}
-	err := filepath.Walk(global.CONFIG.Serve.IndexSaveDir, func(path string, info fs.FileInfo, err error) error {
+	err = filepath.Walk(global.CONFIG.Serve.IndexSaveDir, func(path string, info fs.FileInfo, err error) error {
 		if err != nil {
 			return err
 		}
@@ -414,5 +420,4 @@ func ReadWatchIndexFile() {
 		}
 		return nil
 	})
-	fmt.Println("Read err:", err)
 }