package service import ( "encoding/json" "github.com/go-kratos/kratos/v2/transport/http" "io" v1 "voucher/api/v1" ) func (s *VoucherService) CmbOrderMock(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.CmbOrderRequest if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } bizJsonBytes, err := json.Marshal(req) if err != nil { return err } reply, err := s.CmbMixRepo.GetMockRequest(ctx, string(bizJsonBytes)) if err != nil { return err } return ctx.JSON(200, reply) } func (s *VoucherService) CmbQueryMock(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.CmbQueryRequest if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } bizJsonBytes, err := json.Marshal(req) if err != nil { return err } reply, err := s.CmbMixRepo.GetMockRequest(ctx, string(bizJsonBytes)) if err != nil { return err } return ctx.JSON(200, reply) } func (s *VoucherService) CmbProductQueryMock(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.CmbQueryProductRequest if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } bizJsonBytes, err := json.Marshal(req) if err != nil { return err } reply, err := s.CmbMixRepo.GetMockRequest(ctx, string(bizJsonBytes)) if err != nil { return err } return ctx.JSON(200, reply) } func (s *VoucherService) DecryptBody(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.EncryptBody if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } decryptBody, err := s.CmbMixRepo.Decrypt(ctx, req.EncryptBody) if err != nil { return err } return ctx.JSON(200, &v1.DecryptBody{ DecryptBody: decryptBody, }) } func (s *VoucherService) QueryWechatVoucherNotifyUrl(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.QueryWechatVoucherNotifyUrlRequest if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } rep, err := s.VoucherBiz.WechatCpnRepo.QueryCallback(ctx, req.MchId, req.MchCertNo) if err != nil { return err } return ctx.JSON(200, &v1.QueryWechatVoucherNotifyUrlReply{ Url: *rep.NotifyUrl, }) } func (s *VoucherService) SetWechatVoucherNotifyUrl(ctx http.Context) error { bodyBytes, err := io.ReadAll(ctx.Request().Body) if err != nil { return err } var req *v1.SetWechatVoucherNotifyUrlRequest if err = json.Unmarshal(bodyBytes, &req); err != nil { return err } rep, err := s.VoucherBiz.WechatCpnRepo.SetCallback(ctx, req.MchId, req.MchCertNo, req.Url) if err != nil { return err } return ctx.JSON(200, &v1.SetWechatVoucherNotifyUrlReply{ MchId: req.MchId, Url: *rep.NotifyUrl, }) }