97 lines
2.2 KiB
Go
97 lines
2.2 KiB
Go
/**********************************************
|
|
** @Des: This file ...
|
|
** @Author: haodaquan
|
|
** @Date: 2017-09-16 15:42:43
|
|
** @Last Modified by: haodaquan
|
|
** @Last Modified time: 2017-09-17 11:48:17
|
|
***********************************************/
|
|
package models
|
|
|
|
import (
|
|
"github.com/astaxie/beego/orm"
|
|
)
|
|
|
|
type Admin struct {
|
|
Id int
|
|
LoginName string
|
|
RealName string
|
|
Password string
|
|
RoleIds string
|
|
Phone string
|
|
Email string
|
|
Salt string
|
|
LastLogin int64
|
|
LastIp string
|
|
Status int
|
|
CreateId int
|
|
UpdateId int
|
|
CreateTime int64
|
|
UpdateTime int64
|
|
}
|
|
|
|
func (a *Admin) TableName() string {
|
|
return TableName("uc_admin")
|
|
}
|
|
|
|
func AdminAdd(a *Admin) (int64, error) {
|
|
return orm.NewOrm().Insert(a)
|
|
}
|
|
|
|
func AdminGetByName(loginName string) (*Admin, error) {
|
|
a := new(Admin)
|
|
err := orm.NewOrm().QueryTable(TableName("uc_admin")).Filter("login_name", loginName).One(a)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return a, nil
|
|
}
|
|
|
|
func AdminGetList(page, pageSize int, filters ...interface{}) ([]*Admin, int64) {
|
|
offset := (page - 1) * pageSize
|
|
list := make([]*Admin, 0)
|
|
query := orm.NewOrm().QueryTable(TableName("uc_admin"))
|
|
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 AdminGetById(id int) (*Admin, error) {
|
|
r := new(Admin)
|
|
err := orm.NewOrm().QueryTable(TableName("uc_admin")).Filter("id", id).One(r)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return r, nil
|
|
}
|
|
|
|
func (a *Admin) Update(fields ...string) error {
|
|
if _, err := orm.NewOrm().Update(a, fields...); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// func RoleAuthDelete(id int) (int64, error) {
|
|
// query := orm.NewOrm().QueryTable(TableName("role_auth"))
|
|
// return query.Filter("role_id", id).Delete()
|
|
// }
|
|
|
|
// func RoleAuthMultiAdd(ras []*RoleAuth) (n int, err error) {
|
|
// query := orm.NewOrm().QueryTable(TableName("role_auth"))
|
|
// i, _ := query.PrepareInsert()
|
|
// for _, ra := range ras {
|
|
// _, err := i.Insert(ra)
|
|
// if err == nil {
|
|
// n = n + 1
|
|
// }
|
|
// }
|
|
// i.Close() // 别忘记关闭 statement
|
|
// return n, err
|
|
// }
|