servicecontext.go 984 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package svc
  2. import (
  3. "log"
  4. elastic "app.yhyue.com/moapp/jybase/esv7"
  5. "app.yhyue.com/moapp/jybase/mysql"
  6. "app.yhyue.com/moapp/jydocs/rpc/stdlib/internal/config"
  7. "gorm.io/gorm"
  8. )
  9. type ServiceContext struct {
  10. Config config.Config
  11. DB *gorm.DB
  12. }
  13. func NewServiceContext(c config.Config) *ServiceContext {
  14. jyDBConfig := c.JyDocsMysqlDB
  15. db := initDB(jyDBConfig.DriverName, jyDBConfig.DataSourceName, jyDBConfig.MaxOpenConn, jyDBConfig.MaxIdleConn)
  16. elastic.InitElasticSize(c.EsConfig.Addr, c.EsConfig.Pool)
  17. return &ServiceContext{
  18. Config: c,
  19. DB: db,
  20. }
  21. }
  22. func initDB(driverName, url string, maxOpenConn, maxIdle int) *gorm.DB {
  23. log.Println("----------->【jy_docs】 rpc base init start<--------------")
  24. docDB := mysql.GormMysql(url, driverName, maxOpenConn, maxIdle, nil)
  25. if docDB != nil {
  26. log.Println("----------->【jy_docs】 DB初始化成功!<--------------")
  27. return docDB
  28. } else {
  29. log.Fatalf("【jy_docs】 DB初始化失败...")
  30. return nil
  31. }
  32. }