zhangzengfei
2023-09-11 1873461012c99801f364bd07fae2c218d245048e
main.go
@@ -1,22 +1,36 @@
package main
import (
   "kingdee-dbapi/kingdee"
   "kingdee-dbapi/models"
   "kingdee-dbapi/report"
   "kingdee-dbapi/webserver"
   "os"
   "strings"
   "kingdee-dbapi/cache"
   "kingdee-dbapi/config"
   "kingdee-dbapi/gui"
   "kingdee-dbapi/kingdee"
   "kingdee-dbapi/logger"
   "kingdee-dbapi/models"
   "kingdee-dbapi/nsqclient"
   "github.com/flopp/go-findfont"
)
func main() {
   logger.InitLog("log/kingdee-dbapi.log", "debug", 15, false)
   logger.Info("kingdee-dbapi start!")
   config.Load()
   // sqlite3数据库
   models.Init()
   // 初始化缓存, 记录了已经上报的订单号
   cache.InitCache()
   // 初始化nsq
   nsqclient.InitNsqProducer()
   // 设置中文字体
   setFont()
@@ -24,8 +38,27 @@
   defer kingdee.CloseDB()
   // 创建窗口并运行
   window := gui.NewDisplay()
   dbConnectedChan := make(chan bool)
   window := gui.NewDisplay(dbConnectedChan)
   // 数据库连接成功后启动其他服务
   go onSqlServerConnected(dbConnectedChan)
   window.ShowMainWindow()
}
func onSqlServerConnected(dbConnectedChan chan bool) {
   <-dbConnectedChan
   logger.Debug("数据库已连接, 启动接口服务")
   report.Start()
   // 开启订阅SQL查询
   go nsqclient.InitNsqConsumer(config.Options.SqlQueryTopic, "sensor01", kingdee.SqlQueryHandle)
   go nsqclient.InitNsqConsumer(config.Options.CSTQueryTopic, "sensor01", kingdee.CSTQueryHandle)
   go nsqclient.InitNsqConsumer(config.Options.BomQueryTopic, "sensor01", report.HandleBomQuery)
   go webserver.Serve(config.Options.WebPort)
}
func setFont() {
@@ -35,6 +68,13 @@
      // 微软雅黑-常规
      if strings.Contains(path, "msyh.ttf") {
         os.Setenv("FYNE_FONT", path)
         break
      }
      // 黑体-常规
      if strings.Contains(path, "simhei.ttf") {
         os.Setenv("FYNE_FONT", path)
         break
      }
   }