152 lines
2.9 KiB
Go
152 lines
2.9 KiB
Go
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,
|
|
})
|
|
}
|