forked from 1340691923/ElasticView
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserController.go
More file actions
127 lines (111 loc) · 3.5 KB
/
Copy pathUserController.go
File metadata and controls
127 lines (111 loc) · 3.5 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package controller
import (
"github.com/1340691923/ElasticView/engine/logs"
"github.com/1340691923/ElasticView/model"
"github.com/1340691923/ElasticView/platform-basic-libs/jwt"
"github.com/1340691923/ElasticView/platform-basic-libs/my_error"
"github.com/1340691923/ElasticView/platform-basic-libs/response"
"github.com/1340691923/ElasticView/platform-basic-libs/service/gm_user"
"github.com/gin-gonic/gin"
)
//GM用户控制器
type UserController struct {
BaseController
}
// 登录
func (this UserController) Login(ctx *gin.Context) {
username := ctx.Request.FormValue("username")
password := ctx.Request.FormValue("password")
var gmUserService gm_user.GmUserService
token, err := gmUserService.CheckLogin(username, password)
if err != nil {
logs.Logger.Sugar().Errorf("登陆失败", err)
err = my_error.NewBusiness(gm_user.AUTH_ERROR, gm_user.ERROR_AUTH)
this.Error(ctx, err)
return
}
this.Success(ctx, "登陆成功", map[string]interface{}{"token": token})
}
// 用户详细信息
func (this UserController) UserInfo(ctx *gin.Context) {
var gmUserService gm_user.GmUserService
token := this.GetToken(ctx)
claims, err := jwt.ParseToken(token)
if err != nil {
this.Error(ctx, err)
return
}
info, err := gmUserService.GetRoleInfo(claims.RoleId)
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, "登陆成功", map[string]interface{}{"roles": []string{"admin"}, "introduction": info.Description, "name": info.RoleName, "list": info.RoleList, "avatar": ""})
}
//退出登录
func (this UserController) LogoutAction(ctx *gin.Context) {
this.Success(ctx, response.LogoutSuccess, nil)
}
//GM 用户列表
func (this UserController) UserListAction(ctx *gin.Context) {
var userModel model.GmUserModel
list, err := userModel.Select()
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, response.SearchSuccess, list)
}
// 删除GM用户
func (this UserController) DeleteUserAction(ctx *gin.Context) {
var userModel model.GmUserModel
userModel.ID = int32(this.FormIntDefault(ctx, "id", 0))
err := userModel.Delete()
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, response.DeleteSuccess, nil)
}
// 用ID获取用户信息
func (this UserController) GetUserByIdAction(ctx *gin.Context) {
var userModel model.GmUserModel
var id = int32(this.FormIntDefault(ctx, "id", 0))
userModel.ID = id
gmUser, err := userModel.GetUserById()
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, response.SearchSuccess, gmUser)
}
// 修改GM用户信息
func (this UserController) UserUpdateAction(ctx *gin.Context) {
var userModel model.GmUserModel
var id = int32(this.FormIntDefault(ctx, "id", 0))
userModel.ID = id
userModel.Realname = ctx.Request.FormValue("realname")
userModel.RoleId = int32(this.FormIntDefault(ctx, "role_id", 0))
userModel.Password = ctx.Request.FormValue("password")
userModel.Username = ctx.Request.FormValue("username")
err := userModel.Update()
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, response.OperateSuccess, nil)
}
//新增GM用户
func (this UserController) UserAddAction(ctx *gin.Context) {
var userModel model.GmUserModel
userModel.Realname = ctx.Request.FormValue("realname")
userModel.RoleId = int32(this.FormIntDefault(ctx, "role_id", 0))
userModel.Password = ctx.Request.FormValue("password")
userModel.Username = ctx.Request.FormValue("username")
id, err := userModel.Insert()
if err != nil {
this.Error(ctx, err)
return
}
this.Success(ctx, response.OperateSuccess, id)
}