main.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package main
  2. import (
  3. "log"
  4. "sfbase/core"
  5. "sfbase/global"
  6. "sfbase/redis"
  7. "sfis/db"
  8. "sfis/lock"
  9. "sfis/model"
  10. "sfis/router"
  11. "sfis/utils"
  12. "sync"
  13. "go.uber.org/zap"
  14. )
  15. func main() {
  16. /*对基础模块的使用 放在业务应用当中,灵活使用*/
  17. //初始化系统基本配置、zap日志
  18. core.InitSFBaseWeb("./conf", "dev")
  19. if global.Logger != nil {
  20. global.Logger.Info("sf_base web初始化成功!")
  21. } else {
  22. log.Println("zap日志初始化异常,清检查后重试")
  23. }
  24. db.InitDB()
  25. db.InitEs()
  26. db.InitMongo()
  27. if db.GetSFISDB() != nil {
  28. //todo other caches service or init operation
  29. users := make([]*model.User, 0)
  30. db.GetSFISDB().Find(&users)
  31. for _, user := range users {
  32. utils.UserCaches.Map.Store(user.AppID, user)
  33. lock.UserLockMap[user.AppID] = &sync.Mutex{}
  34. }
  35. global.Logger.Info("初始化用户缓存信息,", zap.Any("用户数量:", len(users)))
  36. apis := make([]*model.Product, 0)
  37. db.GetSFISDB().Find(&apis)
  38. for _, api := range apis {
  39. utils.ProductCaches.Map.Store(api.ID, api)
  40. utils.ApiUrlCache.Store(api.Path, api.ID)
  41. }
  42. global.Logger.Info("初始化产品缓存信息,", zap.Any("产品数量:", len(apis)))
  43. }
  44. //全局redis的使用?
  45. redis.InitRedis(global.BaseConfig.RedisSession.RedisToken)
  46. //启动web server
  47. router.HttpServerRun()
  48. }