Files
ppgo_job/models/ban.go
2018-07-13 17:53:34 +08:00

75 lines
1.6 KiB
Go

/************************************************************
** @Description: models
** @Author: haodaquan
** @Date: 2018-06-10 19:51
** @Last Modified by: haodaquan
** @Last Modified time: 2018-06-10 19:51
*************************************************************/
package models
import (
"fmt"
"github.com/astaxie/beego/orm"
)
type Ban struct {
Id int
Code string
CreateTime int64
UpdateTime int64
Status int
}
func (t *Ban) TableName() string {
return TableName("task_ban")
}
func (t *Ban) Update(fields ...string) error {
if t.Code == "" {
return fmt.Errorf("命令不能为空")
}
if _, err := orm.NewOrm().Update(t, fields...); err != nil {
return err
}
return nil
}
func BanAdd(obj *Ban) (int64, error) {
if obj.Code == "" {
return 0, fmt.Errorf("命令不能为空")
}
return orm.NewOrm().Insert(obj)
}
func BanGetById(id int) (*Ban, error) {
obj := &Ban{
Id: id,
}
err := orm.NewOrm().Read(obj)
if err != nil {
return nil, err
}
return obj, nil
}
func BanDelById(id int) error {
_, err := orm.NewOrm().QueryTable(TableName("task_ban")).Filter("id", id).Delete()
return err
}
func BanGetList(page, pageSize int, filters ...interface{}) ([]*Ban, int64) {
offset := (page - 1) * pageSize
list := make([]*Ban, 0)
query := orm.NewOrm().QueryTable(TableName("task_ban"))
if len(filters) > 0 {
l := len(filters)
for k := 0; k < l; k += 2 {
query = query.Filter(filters[k].(string), filters[k+1])
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&list)
return list, total
}