servicecontext.go 881 B

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