dao.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package dao
  2. import (
  3. "context"
  4. "time"
  5. "go-common/app/job/main/passport-sns/conf"
  6. "go-common/library/cache/memcache"
  7. "go-common/library/database/sql"
  8. xsql "go-common/library/database/sql"
  9. "go-common/library/log"
  10. )
  11. // Dao dao
  12. type Dao struct {
  13. c *conf.Config
  14. asoDB *xsql.DB
  15. snsDB *xsql.DB
  16. mc *memcache.Pool
  17. mcExpire int32
  18. }
  19. // New init mysql db
  20. func New(c *conf.Config) (dao *Dao) {
  21. dao = &Dao{
  22. c: c,
  23. asoDB: xsql.NewMySQL(c.DB.Aso),
  24. snsDB: xsql.NewMySQL(c.DB.Sns),
  25. mc: memcache.NewPool(c.Memcache.Config),
  26. mcExpire: int32(time.Duration(c.Memcache.Expire) / time.Second),
  27. }
  28. return
  29. }
  30. // Close close the resource.
  31. func (d *Dao) Close() (err error) {
  32. if err = d.asoDB.Close(); err != nil {
  33. log.Error("srv.asoDB.Close() error(%v)", err)
  34. }
  35. if err = d.snsDB.Close(); err != nil {
  36. log.Error("srv.snsDB.Close() error(%v)", err)
  37. }
  38. return
  39. }
  40. // Ping dao ping
  41. func (d *Dao) Ping(c context.Context) error {
  42. return nil
  43. }
  44. // BeginSnsTran begin sns transcation.
  45. func (d *Dao) BeginSnsTran(c context.Context) (tx *sql.Tx, err error) {
  46. return d.snsDB.Begin(c)
  47. }