dao.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package income
  2. import (
  3. "context"
  4. "go-common/app/job/main/growup/conf"
  5. "go-common/library/database/sql"
  6. "go-common/library/log"
  7. )
  8. // Dao dao
  9. type Dao struct {
  10. c *conf.Config
  11. db *sql.DB
  12. rddb *sql.DB
  13. Tx *sql.Tx
  14. }
  15. // New fn
  16. func New(c *conf.Config) (d *Dao) {
  17. log.Info("dao start")
  18. d = &Dao{
  19. c: c,
  20. db: sql.NewMySQL(c.Mysql.Growup),
  21. rddb: sql.NewMySQL(c.Mysql.Allowance),
  22. }
  23. d.Tx, _ = d.BeginTran(context.TODO())
  24. //d.db.State = prom.LibClient
  25. return d
  26. }
  27. // Ping ping health.
  28. func (d *Dao) Ping(c context.Context) (err error) {
  29. return d.db.Ping(c)
  30. }
  31. // Close close connections of mc, redis, db.
  32. func (d *Dao) Close() {
  33. if d.db != nil {
  34. d.db.Close()
  35. }
  36. }
  37. // BeginTran begin transcation
  38. func (d *Dao) BeginTran(c context.Context) (tx *sql.Tx, err error) {
  39. return d.db.Begin(c)
  40. }
  41. // Exec exec sql
  42. func (d *Dao) Exec(c context.Context, sql string) (err error) {
  43. _, err = d.db.Exec(c, sql)
  44. return
  45. }
  46. // QueryRow query row
  47. func (d *Dao) QueryRow(c context.Context, sql string) (rows *sql.Row) {
  48. return d.db.QueryRow(c, sql)
  49. }
  50. // Query query
  51. func (d *Dao) Query(c context.Context, sql string) (rows *sql.Rows, err error) {
  52. return d.db.Query(c, sql)
  53. }
  54. // test
  55. // func (d *Dao) Truncate(c context.Context, table string) {
  56. // d.db.Exec(c, fmt.Sprintf("truncate %s", table))
  57. // }