123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package services
- import (
- "fmt"
- "hongze/hongtao3_watch/cache"
- "path/filepath"
- "time"
- )
- // HandleFileUpdate 处理文件变化
- //func HandleFileUpdate() {
- // defer func() {
- // if err := recover(); err != nil {
- // fmt.Println("[AutoHandle]", err)
- // }
- // }()
- // for {
- // global.Rc.Brpop(utils.HANDLE_HONGTAO_EXCEL, func(b []byte) {
- // updateFilePath := string(b)
- // // 移除多余的双引号
- // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1)
- // fileExt := filepath.Ext(updateFilePath)
- // //fmt.Println("fileExt:", fileExt)
- //
- // if fileExt != ".xlsx" && fileExt != ".xls" {
- // //fmt.Println("不是excel文件")
- // return
- // }
- // // 读取excel内容并操作入库
- // ReadExcel(updateFilePath)
- // })
- // }
- //
- //}
- //// HandleRefreshExcel 处理excel刷新(实际去调用刷新)
- //func HandleRefreshExcel() {
- // defer func() {
- // if err := recover(); err != nil {
- // fmt.Println("[AutoRefresh]", err)
- // }
- // }()
- // for {
- // global.Rc.Brpop(utils.REFRESH_HONGTAO_EXCEL, func(b []byte) {
- // updateFilePath := string(b)
- // // 移除多余的双引号
- // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1)
- // fileExt := filepath.Ext(updateFilePath)
- // //fmt.Println("fileExt:", fileExt)
- //
- // if fileExt != ".xlsx" && fileExt != ".xls" {
- // //fmt.Println("不是excel文件")
- // return
- // }
- // // 读取excel内容并操作入库
- // InvokeRefreshServer(updateFilePath)
- // })
- // }
- //
- //}
- // HandleRefreshExcel
- // @Description: 处理excel刷新(实际去调用刷新)
- // @author: Roc
- // @datetime2023-10-31 09:44:36
- // @param filePath string
- func HandleRefreshExcel() {
- for {
- el := cache.RefreshList.Front()
- // 如果没取到,那么就睡眠1s
- if el == nil {
- time.Sleep(1 * time.Second)
- continue
- }
- filePath := el.Value.(string)
- fileExt := filepath.Ext(filePath)
- if fileExt != ".xlsx" && fileExt != ".xls" {
- //fmt.Println("不是excel文件")
- return
- }
- InvokeRefreshServer(filePath)
- // 处理完后就移除该list
- cache.RefreshList.Remove(el)
- cache.FilePathMutex.Lock()
- delete(cache.FilePathMap, filePath)
- cache.FilePathMutex.Unlock()
- }
- }
- // HandleFileUpdate
- // @Description: 处理文件变化
- // @author: Roc
- // @datetime2023-10-31 09:52:23
- func HandleFileUpdate() {
- defer func() {
- if err := recover(); err != nil {
- fmt.Println("[AutoHandle]", err)
- }
- }()
- for {
- el := cache.HandleExcelList.Front()
- // 如果没取到,那么就睡眠1s
- if el == nil {
- time.Sleep(1 * time.Second)
- continue
- }
- filePath := el.Value.(string)
- fileExt := filepath.Ext(filePath)
- if fileExt != ".xlsx" && fileExt != ".xls" {
- //fmt.Println("不是excel文件")
- return
- }
- // 读取excel内容并操作入库
- ReadExcel(filePath)
- // 处理完后就移除该list
- cache.HandleExcelList.Remove(el)
- cache.HandleExcelFilePathMutex.Lock()
- delete(cache.HandleExcelFilePathMap, filePath)
- cache.HandleExcelFilePathMutex.Unlock()
- }
- }
|