/
BackendUser.go
82 lines (75 loc) · 2.37 KB
/
BackendUser.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package models
import (
"github.com/astaxie/beego/orm"
)
// TableName 设置BackendUser表名
func (a *BackendUser) TableName() string {
return BackendUserTBName()
}
// BackendUserQueryParam 用于查询的类
type BackendUserQueryParam struct {
BaseQueryParam
UserNameLike string //模糊查询
RealNameLike string //模糊查询
Mobile string //精确查询
SearchStatus string //为空不查询,有值精确查询
}
// BackendUser 实体类
type BackendUser struct {
Id int
RealName string `orm:"size(32)"`
UserName string `orm:"size(24)"`
UserPwd string `json:"-"`
IsSuper bool
Status int
Mobile string `orm:"size(16)"`
Email string `orm:"size(256)"`
Avatar string `orm:"size(256)"`
RoleIds []int `orm:"-" form:"RoleIds"`
RoleBackendUserRel []*RoleBackendUserRel `orm:"reverse(many)"` // 设置一对多的反向关系
ResourceUrlForList []string `orm:"-"`
}
// BackendUserPageList 获取分页数据
func BackendUserPageList(params *BackendUserQueryParam) ([]*BackendUser, int64) {
query := orm.NewOrm().QueryTable(BackendUserTBName())
data := make([]*BackendUser, 0)
//默认排序
sortorder := "Id"
switch params.Sort {
case "Id":
sortorder = "Id"
}
if params.Order == "desc" {
sortorder = "-" + sortorder
}
query = query.Filter("username__istartswith", params.UserNameLike)
query = query.Filter("realname__istartswith", params.RealNameLike)
if len(params.Mobile) > 0 {
query = query.Filter("mobile", params.Mobile)
}
if len(params.SearchStatus) > 0 {
query = query.Filter("status", params.SearchStatus)
}
total, _ := query.Count()
query.OrderBy(sortorder).Limit(params.Limit, params.Offset).All(&data)
return data, total
}
// BackendUserOne 根据id获取单条
func BackendUserOne(id int) (*BackendUser, error) {
o := orm.NewOrm()
m := BackendUser{Id: id}
err := o.Read(&m)
if err != nil {
return nil, err
}
return &m, nil
}
// BackendUserOneByUserName 根据用户名密码获取单条
func BackendUserOneByUserName(username, userpwd string) (*BackendUser, error) {
m := BackendUser{}
err := orm.NewOrm().QueryTable(BackendUserTBName()).Filter("username", username).Filter("userpwd", userpwd).One(&m)
if err != nil {
return nil, err
}
return &m, nil
}