package svc import ( "log" elastic "app.yhyue.com/moapp/jybase/esv7" "app.yhyue.com/moapp/jybase/mysql" "app.yhyue.com/moapp/jydocs/rpc/stdlib/internal/config" "gorm.io/gorm" ) type ServiceContext struct { Config config.Config DB *gorm.DB } func NewServiceContext(c config.Config) *ServiceContext { jyDBConfig := c.JyDocsMysqlDB db := initDB(jyDBConfig.DriverName, jyDBConfig.DataSourceName, jyDBConfig.MaxOpenConn, jyDBConfig.MaxIdleConn) elastic.InitElasticSize(c.EsConfig.Addr, c.EsConfig.Pool) return &ServiceContext{ Config: c, DB: db, } } func initDB(driverName, url string, maxOpenConn, maxIdle int) *gorm.DB { log.Println("----------->【jy_docs】 rpc base init start<--------------") docDB := mysql.GormMysql(url, driverName, maxOpenConn, maxIdle, nil) if docDB != nil { log.Println("----------->【jy_docs】 DB初始化成功!<--------------") return docDB } else { log.Fatalf("【jy_docs】 DB初始化失败...") return nil } }