12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package dao
- import (
- "context"
- "go-common/app/admin/main/relation/conf"
- accountGRPC "go-common/app/service/main/account/api"
- relationGRPC "go-common/app/service/main/relation/api"
- "go-common/library/database/hbase.v2"
- "go-common/library/database/orm"
- "github.com/jinzhu/gorm"
- )
- // Dao dao
- type Dao struct {
- c *conf.Config
- ReadORM *gorm.DB
- accountClient accountGRPC.AccountClient
- relationClient relationGRPC.RelationClient
- hbase *hbase.Client
- }
- // New init mysql db
- func New(c *conf.Config) (dao *Dao) {
- dao = &Dao{
- c: c,
- ReadORM: orm.NewMySQL(c.ORM.Read),
- hbase: hbase.NewClient(c.LogHBase),
- }
- relationGRPCClient, err := relationGRPC.NewClient(c.RelationGRPC)
- if err != nil {
- panic(err)
- }
- accountGRPCClient, err := accountGRPC.NewClient(c.AccountGRPC)
- if err != nil {
- panic(err)
- }
- dao.relationClient = relationGRPCClient
- dao.accountClient = accountGRPCClient
- dao.initORM()
- return
- }
- func (dao *Dao) initORM() {
- dao.ReadORM.LogMode(true)
- }
- // Close close the resource.
- func (dao *Dao) Close() {
- dao.ReadORM.Close()
- }
- // Ping dao ping
- func (dao *Dao) Ping(c context.Context) error {
- return dao.ReadORM.DB().PingContext(c)
- }
|