getCodeUrl.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package handler
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/sirupsen/logrus"
  6. "youngee_b_api/consts"
  7. "youngee_b_api/model/http_model"
  8. "youngee_b_api/service"
  9. "youngee_b_api/util"
  10. )
  11. func WrapGetCodeUrlHandler(ctx *gin.Context) {
  12. handler := newGetCodeUrlHandler(ctx)
  13. baseRun(handler)
  14. }
  15. type getCodeUrlHandler struct {
  16. ctx *gin.Context
  17. req *http_model.GetCodeUrlRequest
  18. resp *http_model.CommonResponse
  19. }
  20. func (g getCodeUrlHandler) getContext() *gin.Context {
  21. return g.ctx
  22. }
  23. func (g getCodeUrlHandler) getResponse() interface{} {
  24. return g.resp
  25. }
  26. func (g getCodeUrlHandler) getRequest() interface{} {
  27. return g.req
  28. }
  29. func (g getCodeUrlHandler) run() {
  30. tradeId := util.GetRandomString(32)
  31. if g.req.Type == 1 {
  32. fmt.Println("amount:", g.req.Amount)
  33. data, err := service.NativeApiServicePrepay(tradeId, g.req.Amount)
  34. if err != nil {
  35. logrus.WithContext(g.ctx).Errorf("[getCodeUrlHandler] error NativeApiServicePrepay, err:%+v", err)
  36. util.HandlerPackErrorResp(g.resp, consts.ErrorInternal, consts.DefaultToast)
  37. return
  38. }
  39. codeUrlData := new(http_model.CodeUrl)
  40. codeUrlData.CodeUrl = data
  41. codeUrlData.TradeId = tradeId
  42. g.resp.Data = codeUrlData
  43. }
  44. }
  45. func (g getCodeUrlHandler) checkParam() error {
  46. return nil
  47. }
  48. func newGetCodeUrlHandler(ctx *gin.Context) *getCodeUrlHandler {
  49. return &getCodeUrlHandler{
  50. ctx: ctx,
  51. req: http_model.NewGetCodeUrlRequest(),
  52. resp: http_model.NewGetCodeUrlResponse(),
  53. }
  54. }