func_modifypersonalinfo.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package admin
  2. import (
  3. "net/http"
  4. "github.com/xinliangnote/go-gin-api/internal/code"
  5. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  6. "github.com/xinliangnote/go-gin-api/internal/services/admin"
  7. )
  8. type modifyPersonalInfoRequest struct {
  9. Nickname string `form:"nickname"` // 昵称
  10. Mobile string `form:"mobile"` // 手机号
  11. }
  12. type modifyPersonalInfoResponse struct {
  13. Username string `json:"username"` // 用户账号
  14. }
  15. // ModifyPersonalInfo 修改个人信息
  16. // @Summary 修改个人信息
  17. // @Description 修改个人信息
  18. // @Tags API.admin
  19. // @Accept application/x-www-form-urlencoded
  20. // @Produce json
  21. // @Param nickname formData string true "昵称"
  22. // @Param mobile formData string true "手机号"
  23. // @Success 200 {object} modifyPersonalInfoResponse
  24. // @Failure 400 {object} code.Failure
  25. // @Router /api/admin/modify_personal_info [patch]
  26. // @Security LoginToken
  27. func (h *handler) ModifyPersonalInfo() core.HandlerFunc {
  28. return func(ctx core.Context) {
  29. req := new(modifyPersonalInfoRequest)
  30. res := new(modifyPersonalInfoResponse)
  31. if err := ctx.ShouldBindForm(req); err != nil {
  32. ctx.AbortWithError(core.Error(
  33. http.StatusBadRequest,
  34. code.ParamBindError,
  35. code.Text(code.ParamBindError)).WithError(err),
  36. )
  37. return
  38. }
  39. modifyData := new(admin.ModifyData)
  40. modifyData.Nickname = req.Nickname
  41. modifyData.Mobile = req.Mobile
  42. if err := h.adminService.ModifyPersonalInfo(ctx, ctx.SessionUserInfo().UserID, modifyData); err != nil {
  43. ctx.AbortWithError(core.Error(
  44. http.StatusBadRequest,
  45. code.AdminModifyPersonalInfoError,
  46. code.Text(code.AdminModifyPersonalInfoError)).WithError(err),
  47. )
  48. return
  49. }
  50. res.Username = ctx.SessionUserInfo().UserName
  51. ctx.Payload(res)
  52. }
  53. }