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

69 lines
1.5 KiB
Go

/**********************************************
** @Des: This file ...
** @Author: haodaquan
** @Date: 2017-09-14 15:24:51
** @Last Modified by: haodaquan
** @Last Modified time: 2017-09-17 11:48:52
***********************************************/
package models
import (
"github.com/astaxie/beego/orm"
)
type Role struct {
Id int
RoleName string
Detail string
ServerGroupIds string
TaskGroupIds string
Status int
CreateId int
UpdateId int
CreateTime int64
UpdateTime int64
}
func (a *Role) TableName() string {
return TableName("uc_role")
}
func RoleGetList(page, pageSize int, filters ...interface{}) ([]*Role, int64) {
offset := (page - 1) * pageSize
list := make([]*Role, 0)
query := orm.NewOrm().QueryTable(TableName("uc_role"))
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
}
func RoleAdd(role *Role) (int64, error) {
id, err := orm.NewOrm().Insert(role)
if err != nil {
return 0, err
}
return id, nil
}
func RoleGetById(id int) (*Role, error) {
r := new(Role)
err := orm.NewOrm().QueryTable(TableName("uc_role")).Filter("id", id).One(r)
if err != nil {
return nil, err
}
return r, nil
}
func (r *Role) Update(fields ...string) error {
if _, err := orm.NewOrm().Update(r, fields...); err != nil {
return err
}
return nil
}