mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
fix(main):修复美股信息更新逻辑
- 将 return 语句替换为 continue,以修复在发现已有数据时提前退出循环的问题 - 优化了股票信息的更新逻辑,确保在数据库已存在记录时跳过当前迭代
This commit is contained in:
parent
11f0b66360
commit
f6eaa11d65
33
main.go
33
main.go
@ -15,8 +15,9 @@ import (
|
|||||||
"github.com/wailsapp/wails/v2/pkg/runtime"
|
"github.com/wailsapp/wails/v2/pkg/runtime"
|
||||||
"go-stock/backend/data"
|
"go-stock/backend/data"
|
||||||
"go-stock/backend/db"
|
"go-stock/backend/db"
|
||||||
|
log "go-stock/backend/logger"
|
||||||
"go-stock/backend/models"
|
"go-stock/backend/models"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
goruntime "runtime"
|
goruntime "runtime"
|
||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
@ -69,9 +70,13 @@ func main() {
|
|||||||
if stocksBin != nil && len(stocksBin) > 0 {
|
if stocksBin != nil && len(stocksBin) > 0 {
|
||||||
go initStockData()
|
go initStockData()
|
||||||
}
|
}
|
||||||
|
log.SugaredLogger.Infof("init stocksBinHK %d", len(stocksBinHK))
|
||||||
|
|
||||||
if stocksBinHK != nil && len(stocksBinHK) > 0 {
|
if stocksBinHK != nil && len(stocksBinHK) > 0 {
|
||||||
go initStockDataHK()
|
go initStockDataHK()
|
||||||
}
|
}
|
||||||
|
log.SugaredLogger.Infof("init stocksBinUS %d", len(stocksBinUS))
|
||||||
|
|
||||||
if stocksBinUS != nil && len(stocksBinUS) > 0 {
|
if stocksBinUS != nil && len(stocksBinUS) > 0 {
|
||||||
go initStockDataUS()
|
go initStockDataUS()
|
||||||
}
|
}
|
||||||
@ -112,15 +117,15 @@ func main() {
|
|||||||
//FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
|
//FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
|
||||||
// runtime.Quit(app.ctx)
|
// runtime.Quit(app.ctx)
|
||||||
//})
|
//})
|
||||||
logger.NewDefaultLogger().Info("version: " + Version)
|
log.SugaredLogger.Info("version: " + Version)
|
||||||
logger.NewDefaultLogger().Info("commit: " + VersionCommit)
|
log.SugaredLogger.Info("commit: " + VersionCommit)
|
||||||
// Create application with options
|
// Create application with options
|
||||||
var width, height int
|
var width, height int
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
width, height, err = getScreenResolution()
|
width, height, err = getScreenResolution()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.NewDefaultLogger().Error("get screen resolution error")
|
log.SugaredLogger.Error("get screen resolution error")
|
||||||
width = 1366
|
width = 1366
|
||||||
height = 768
|
height = 768
|
||||||
}
|
}
|
||||||
@ -184,22 +189,24 @@ func main() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.SugaredLogger.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func initStockDataUS() {
|
func initStockDataUS() {
|
||||||
var v []models.StockInfoUS
|
var v []models.StockInfoUS
|
||||||
log.Printf("init stock data us %d", len(v))
|
|
||||||
err := json.Unmarshal(stocksBinUS, &v)
|
err := json.Unmarshal(stocksBinUS, &v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.SugaredLogger.Error(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
log.SugaredLogger.Infof("init stock data us %d", len(v))
|
||||||
for _, item := range v {
|
for _, item := range v {
|
||||||
var count int64
|
var count int64
|
||||||
db.Dao.Model(&models.StockInfoUS{}).Count(&count)
|
db.Dao.Model(&models.StockInfoUS{}).Where("code = ?", item.Code).Count(&count)
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
|
log.SugaredLogger.Infof("stock data us %s exist", item.Code)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
db.Dao.Model(&models.StockInfoUS{}).Create(&item)
|
db.Dao.Model(&models.StockInfoUS{}).Create(&item)
|
||||||
@ -210,17 +217,19 @@ func initStockDataHK() {
|
|||||||
var v []models.StockInfoHK
|
var v []models.StockInfoHK
|
||||||
err := json.Unmarshal(stocksBinHK, &v)
|
err := json.Unmarshal(stocksBinHK, &v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.SugaredLogger.Error(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
log.SugaredLogger.Infof("init stock data hk %d", len(v))
|
||||||
for _, item := range v {
|
for _, item := range v {
|
||||||
var count int64
|
var count int64
|
||||||
db.Dao.Model(&models.StockInfoHK{}).Count(&count)
|
db.Dao.Model(&models.StockInfoHK{}).Where("code = ?", item.Code).Count(&count)
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
|
log.SugaredLogger.Infof("stock data hk %s exist", item.Code)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
db.Dao.Model(&models.StockInfoHK{}).Create(&item)
|
db.Dao.Model(&models.StockInfoHK{}).Create(&item)
|
||||||
}
|
}
|
||||||
log.Printf("init stock data hk %d", len(v))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateBasicInfo() {
|
func updateBasicInfo() {
|
||||||
@ -233,11 +242,11 @@ func updateBasicInfo() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func initStockData() {
|
func initStockData() {
|
||||||
logger.NewDefaultLogger().Info("init stock data")
|
log.SugaredLogger.Info("init stock data")
|
||||||
res := &data.TushareStockBasicResponse{}
|
res := &data.TushareStockBasicResponse{}
|
||||||
err := json.Unmarshal(stocksBin, res)
|
err := json.Unmarshal(stocksBin, res)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.NewDefaultLogger().Error(err.Error())
|
log.SugaredLogger.Error(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, item := range res.Data.Items {
|
for _, item := range res.Data.Items {
|
||||||
@ -274,7 +283,7 @@ func checkDir(dir string) {
|
|||||||
_, err := os.Stat(dir)
|
_, err := os.Stat(dir)
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
os.Mkdir(dir, os.ModePerm)
|
os.Mkdir(dir, os.ModePerm)
|
||||||
logger.NewDefaultLogger().Info("create dir: " + dir)
|
log.SugaredLogger.Info("create dir: " + dir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user