75 lines
1.6 KiB
Go
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
|
|
}
|