init.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package init
  2. import (
  3. "app.yhyue.com/moapp/jyInfo/entity"
  4. "app.yhyue.com/moapp/jyInfo/rpc/manager/internal/config"
  5. "app.yhyue.com/moapp/jyInfo/rpc/model"
  6. "flag"
  7. "fmt"
  8. "github.com/zeromicro/go-zero/core/conf"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. "log"
  11. _ "github.com/go-sql-driver/mysql"
  12. "github.com/jinzhu/gorm"
  13. )
  14. var configF = flag.String("ff", "etc/manager.yaml", "the config file")
  15. var C config.Config
  16. var DB *gorm.DB
  17. var err error
  18. //
  19. var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
  20. var logc entity.Logc
  21. //管理员
  22. var MUserIdMap = map[string]bool{}
  23. func init() {
  24. conf.MustLoad(*configF, &C)
  25. //初始化msyql
  26. mm := C.MysqlMain
  27. data_source := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",
  28. mm.UserName,
  29. mm.PassWord,
  30. mm.Address,
  31. mm.DbName,
  32. )
  33. DB, err = gorm.Open("mysql", data_source)
  34. if err != nil {
  35. panic(err)
  36. }
  37. DB.DB().SetMaxOpenConns(mm.MaxOpenConns) // 最大连接数
  38. DB.DB().SetMaxIdleConns(mm.MaxIdleConns) // 最大空闲数
  39. log.Println("初始化 mysql")
  40. //初始redis
  41. rm := C.Redis
  42. model.InitRedis(&rm)
  43. model.InitMysql(&mm)
  44. //初始NSQ
  45. nm := C.Nsq
  46. model.InitNsqConfig(&nm)
  47. //初始es
  48. es := C.Es
  49. model.InitEs(&es)
  50. //管理员信息
  51. if len(C.ManagerUserId) > 0 {
  52. for _, v := range C.ManagerUserId {
  53. MUserIdMap[v] = true
  54. }
  55. }
  56. //初始化日志信息
  57. conf.MustLoad(*logFile, &logc)
  58. if len(logc.Level) > 0 {
  59. for _, v := range logc.Level {
  60. logx.MustSetup(logx.LogConf{
  61. Mode: logc.Mode,
  62. Path: logc.Path,
  63. Level: v,
  64. KeepDays: logc.KeepDays,
  65. })
  66. logx.Info(v, "--日志记录")
  67. }
  68. }
  69. }