db.go 1003 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package db
  2. import (
  3. "github.com/gogf/gf/database/gdb"
  4. "github.com/gogf/gf/frame/g"
  5. myerrors "dashoo.cn/opms_libary/myerrors"
  6. )
  7. type ServiceBase struct {
  8. Tenant string
  9. SafeModel *gdb.Model
  10. DB gdb.DB
  11. TableName string
  12. }
  13. func (s *ServiceBase) Init(tenant string, tableName string) error {
  14. //db, err := gdb.Instance(tenant)
  15. s.Tenant = tenant
  16. db := g.DB(tenant)
  17. if db == nil {
  18. return myerrors.NewSysError(nil, "数据库初始化异常")
  19. }
  20. //if err != nil {
  21. // return gerror.New("获取数据库连接失败")
  22. //}
  23. s.DB = db
  24. s.TableName = tableName
  25. //s.Model = db.Table(tableName)
  26. s.SafeModel = s.DB.Table(tableName).Safe()
  27. return nil
  28. }
  29. // Exists 判断数据是否在数据表里已存在
  30. func (s *ServiceBase) Exists(tableName string, where ...interface{}) (bool, error) {
  31. exist, err := s.DB.Table(tableName).Fields("1 as id").FindOne(where...)
  32. if err != nil {
  33. return false, myerrors.NewDbError(err)
  34. }
  35. if len(exist) > 0 {
  36. return true, nil
  37. }
  38. return false, nil
  39. }