48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package user
|
||
|
||
import (
|
||
"fmt"
|
||
"mini_server/internal/dao"
|
||
"mini_server/internal/server/help"
|
||
"mini_server/internal/server/httpreply"
|
||
"net/http"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
"github.com/sirupsen/logrus"
|
||
)
|
||
|
||
type ChangeAvatarIdRequest struct {
|
||
AvatarId string `json:"avatar_id" binding:"min=1"` // 修改的头像id
|
||
}
|
||
|
||
func ChangeAvatarId(c *gin.Context) {
|
||
reply := httpreply.NewDefaultReplyData()
|
||
defer httpreply.Reply(c, reply)
|
||
|
||
//解析请求参数
|
||
var request ChangeAvatarIdRequest
|
||
if err := c.ShouldBindJSON(&request); err != nil {
|
||
reply.Status = http.StatusBadRequest
|
||
reply.Message = fmt.Sprintf("invalid json data, err:%v", err)
|
||
return
|
||
}
|
||
|
||
userId, ok := help.GetUserId(c)
|
||
if !ok {
|
||
reply.Status = http.StatusNotFound
|
||
reply.Message = "无法获取用户信息"
|
||
return
|
||
}
|
||
|
||
logrus.Tracef("修改用户头像,userId:%d,请求参数:%v", userId, request)
|
||
|
||
if err := dao.User_Change_AvatarId(userId, request.AvatarId); err != nil {
|
||
logrus.Errorf("更新用户头像失败,userId:%d,err:%v", userId, err)
|
||
reply.Status = http.StatusInternalServerError
|
||
reply.Message = "更新用户头像失败"
|
||
return
|
||
}
|
||
|
||
full_lastest_userinfo(reply, userId)
|
||
}
|