main.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "go.uber.org/zap"
  4. "log"
  5. "sfbase/core"
  6. "sfbase/global"
  7. "sfbase/redis"
  8. "sfis/db"
  9. "sfis/lock"
  10. "sfis/model"
  11. "sfis/router"
  12. "sfis/utils"
  13. "sync"
  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. }
  34. global.Logger.Info("初始化用户缓存信息,", zap.Any("用户数量:", len(users)))
  35. apis := make([]*model.Product, 0)
  36. db.GetSFISDB().Find(&apis)
  37. for _, api := range apis {
  38. utils.ProductCaches.Map.Store(api.ID, api)
  39. utils.ApiUrlCache.Store(api.Path, *api)
  40. }
  41. global.Logger.Info("初始化产品缓存信息,", zap.Any("产品数量:", len(apis)))
  42. }
  43. lock.UserLockMap["sfGSVYRQMAAgkGBAUBJg4f"] = &sync.Mutex{}
  44. //全局redis的使用?
  45. redis.InitRedis(global.BaseConfig.RedisSession.RedisToken)
  46. //启动web server
  47. router.HttpServerRun()
  48. }