jzqrcodehandler.go 923 B

1234567891011121314151617181920212223242526272829303132
  1. package handler
  2. import (
  3. "net/http"
  4. "time"
  5. "git.i2edu.net/i2/go-zero/rest/httpx"
  6. "git.i2edu.net/i2/go-zero/rest/token"
  7. "git.i2edu.net/i2/i2-bill-api/internal/logic"
  8. "git.i2edu.net/i2/i2-bill-api/internal/svc"
  9. "git.i2edu.net/i2/i2-bill-api/internal/utils"
  10. "github.com/dgrijalva/jwt-go"
  11. )
  12. func JzQrCodeHandler(ctx *svc.ServiceContext) http.HandlerFunc {
  13. return func(w http.ResponseWriter, r *http.Request) {
  14. l := logic.NewJzQrCodeLogic(r.Context(), ctx)
  15. token.NewTokenParser()
  16. parser := token.NewTokenParser(token.WithResetDuration(time.Minute))
  17. tok, err := parser.ParseToken(r, ctx.Config.JwtAuth.AccessSecret, "")
  18. if err != nil {
  19. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  20. } else {
  21. res, err := l.JzQrCode(tok.Claims.(jwt.MapClaims)["userId"].(int64))
  22. if err != nil {
  23. httpx.OkJson(w, utils.ReturnHTTPFail(err))
  24. } else {
  25. httpx.OkJson(w, utils.ReturnHTTPSuccess(res))
  26. }
  27. }
  28. }
  29. }