getuserhandler.go 989 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package handler
  2. import (
  3. "net/http"
  4. "git.i2edu.net/i2/i2-bill-api/internal/logic"
  5. "git.i2edu.net/i2/i2-bill-api/internal/svc"
  6. "git.i2edu.net/i2/i2-bill-api/internal/types"
  7. "git.i2edu.net/i2/i2-bill-api/internal/utils"
  8. "git.i2edu.net/i2/go-zero/rest/httpx"
  9. )
  10. func GetUserHandler(ctx *svc.ServiceContext) http.HandlerFunc {
  11. return func(w http.ResponseWriter, r *http.Request) {
  12. var req types.Request
  13. if err := httpx.Parse(r, &req); err != nil {
  14. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  15. return
  16. }
  17. uid, err := ctx.GetUserId(r)
  18. if err != nil {
  19. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  20. return
  21. }
  22. sid, err := ctx.GetSessionKey(r)
  23. if err != nil {
  24. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  25. return
  26. }
  27. l := logic.NewGetUserLogic(r.Context(), ctx)
  28. l.UserId = uid
  29. l.SessionKey = sid
  30. resp, err := l.GetUser(req)
  31. if err != nil {
  32. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  33. } else {
  34. httpx.OkJson(w, utils.ReturnHTTPSuccess(resp))
  35. }
  36. }
  37. }