Merge branch 'refs/heads/master' into release

# Conflicts:
#	dao/user.go
This commit is contained in:
junleea 2024-12-04 15:25:11 +08:00
commit 3135efa1b0
3 changed files with 28 additions and 12 deletions

View File

@ -77,6 +77,21 @@ func UpdateUserByID(id int, name, password, email string) {
DB.Model(&User{}).Where("id = ?", id).Updates(User{Name: name, Password: password, Email: email})
}
// 管理员修改用户信息
func UpdateUserByID2(id int, req proto.UpdateUserInfoReq) {
DB.Model(&User{}).Where("id = ?", id).Updates(User{Name: req.Username, Age: req.Age, Role: req.Role, Run: req.Run, Redis: req.Redis, Upload: req.Upload, Avatar: req.Avatar, Gender: req.Gender})
updateData := make(map[string]interface{})
updateData["Name"] = req.Username
updateData["Age"] = req.Age
updateData["Role"] = req.Role
updateData["Run"] = req.Run
updateData["Redis"] = req.Redis
updateData["Upload"] = req.Upload
updateData["Avatar"] = req.Avatar
updateData["Gender"] = req.Gender
DB.Model(&User{}).Where("id =?", id).Updates(updateData)
}
// 用户修改自己的信息
func UpdateUserByID3(id int, req proto.UpdateUserInfoReq) {
DB.Model(&User{}).Where("id = ?", id).Updates(User{Name: req.Username, Age: req.Age, Avatar: req.Avatar, Gender: req.Gender})
}

View File

@ -1,15 +1,15 @@
package proto
type UpdateUserInfoReq struct {
ID int `json:"id" form:"id"` //用户id
Username string `json:"username" form:"username"` //用户名
Age int `json:"age" form:"age"` //年龄
Role string `json:"role" form:"role"` //角色
Gender string `json:"gender" form:"gender"` //性别
Redis bool `json:"redis" form:"redis"` //是否刷新redis
Upload bool `json:"upload" form:"upload"` //是否上传头像
Run bool `json:"run" form:"run"` //是否运行
Avatar string `json:"avatar" form:"avatar"` //头像
ID int `json:"id" form:"id"` //用户id
Username string `json:"name" form:"name"` //用户名
Age int `json:"age" form:"age"` //年龄
Role string `json:"role" form:"role"` //角色
Gender string `json:"gender" form:"gender"` //性别
Redis bool `json:"redis" form:"redis"` //是否刷新redis
Upload bool `json:"upload" form:"upload"` //是否上传头像
Run bool `json:"run" form:"run"` //是否运行
Avatar string `json:"avatar" form:"avatar"` //头像
}
type CIDRUN struct {

View File

@ -44,8 +44,9 @@ func GetUserByNameLike(name string) []proto.User {
func UpdateUser(user_id int, req proto.UpdateUserInfoReq) (int, error) {
cur_user := dao.FindUserByID2(user_id)
if user_id == req.ID {
dao.UpdateUserByID2(user_id, req)
//fmt.Println("cur_user:", cur_user, "req:", req)
if user_id == req.ID && cur_user.Role != "admin" {
dao.UpdateUserByID3(user_id, req) //用户修改自己的信息,不能修改权限信息
return user_id, nil
} else if cur_user.Role == "admin" {
dao.UpdateUserByID2(req.ID, req)