eta_business_edb_permission.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package data_manage
  2. import (
  3. sql2 "database/sql"
  4. "eta/eta_hub/global"
  5. "eta/eta_hub/utils"
  6. "fmt"
  7. "github.com/beego/beego/v2/client/orm"
  8. "strings"
  9. "time"
  10. )
  11. type EtaBusinessEdbPermission struct {
  12. EtaBusinessEdbPermissionId int `orm:"column(eta_business_edb_permission_id);pk;auto"`
  13. EdbInfoId int `description:"指标id"`
  14. BusinessCode string `description:"商家编码"`
  15. Appid string `description:"appid"`
  16. ModifyTime time.Time `description:"修改时间"`
  17. CreateTime time.Time `description:"创建时间"`
  18. }
  19. // TableName 设置表名
  20. func (m *EtaBusinessEdbPermission) TableName() string {
  21. return "eta_business_edb_permission"
  22. }
  23. // Init 初始化表结构
  24. func init() {
  25. orm.RegisterModel(new(EtaBusinessEdbPermission))
  26. }
  27. func (m *EtaBusinessEdbPermission) GetItemsTotal(cond string, pars []interface{}) (total int, err error) {
  28. //o := orm.NewOrmUsingDB("data")
  29. var totalNull sql2.NullInt64
  30. sql := fmt.Sprintf(`SELECT COUNT(*) total FROM eta_business_edb_permission AS a
  31. LEFT JOIN edb_info AS b on a.edb_info_id = b.edb_info_id WHERE 1=1 %s`, cond)
  32. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error
  33. if err != nil {
  34. return
  35. }
  36. total = int(totalNull.Int64)
  37. return
  38. }
  39. func (m *EtaBusinessEdbPermission) GetItemsPageByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EdbInfo, err error) {
  40. //o := orm.NewOrmUsingDB("data")
  41. fields := strings.Join(fieldArr, ",")
  42. if len(fieldArr) == 0 {
  43. fields = `b.*`
  44. }
  45. order := `ORDER BY b.create_time DESC`
  46. if orderRule != "" {
  47. order = ` ORDER BY ` + orderRule
  48. }
  49. sql := fmt.Sprintf(`SELECT %s FROM eta_business_edb_permission AS a
  50. LEFT JOIN edb_info AS b on a.edb_info_id = b.edb_info_id WHERE 1=1 %s %s`, fields, cond, order)
  51. sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, pageSize)
  52. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
  53. return
  54. }