package data_manage import ( sql2 "database/sql" "eta/eta_hub/global" "eta/eta_hub/utils" "fmt" "github.com/beego/beego/v2/client/orm" "strings" "time" ) type EtaBusinessEdbPermission struct { EtaBusinessEdbPermissionId int `orm:"column(eta_business_edb_permission_id);pk;auto"` EdbInfoId int `description:"指标id"` BusinessCode string `description:"商家编码"` Appid string `description:"appid"` ModifyTime time.Time `description:"修改时间"` CreateTime time.Time `description:"创建时间"` } // TableName 设置表名 func (m *EtaBusinessEdbPermission) TableName() string { return "eta_business_edb_permission" } // Init 初始化表结构 func init() { orm.RegisterModel(new(EtaBusinessEdbPermission)) } func (m *EtaBusinessEdbPermission) GetItemsTotal(cond string, pars []interface{}) (total int, err error) { //o := orm.NewOrmUsingDB("data") var totalNull sql2.NullInt64 sql := fmt.Sprintf(`SELECT COUNT(*) total FROM eta_business_edb_permission AS a LEFT JOIN edb_info AS b on a.edb_info_id = b.edb_info_id WHERE 1=1 %s`, cond) err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&totalNull).Error if err != nil { return } total = int(totalNull.Int64) return } func (m *EtaBusinessEdbPermission) GetItemsPageByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EdbInfo, err error) { //o := orm.NewOrmUsingDB("data") fields := strings.Join(fieldArr, ",") if len(fieldArr) == 0 { fields = `b.*` } order := `ORDER BY b.create_time DESC` if orderRule != "" { order = ` ORDER BY ` + orderRule } sql := fmt.Sprintf(`SELECT %s FROM eta_business_edb_permission AS a LEFT JOIN edb_info AS b on a.edb_info_id = b.edb_info_id WHERE 1=1 %s %s`, fields, cond, order) sql += fmt.Sprintf(` LIMIT %d,%d`, startSize, pageSize) err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error return }