From e2fde2e5da2998a2799ded7724a133563abcf2f4 Mon Sep 17 00:00:00 2001 From: xy <135087223+geniuxy@users.noreply.github.com> Date: Wed, 2 Aug 2023 16:04:33 +0800 Subject: [PATCH] fix: payment amount (#3621) * fix: Log error * fix: defauly paymethod --- controllers/account/api/v1/payment_types.go | 1 + controllers/account/controllers/account_controller.go | 6 +++--- controllers/account/controllers/payment_controller.go | 4 ++-- pkg/pay/interface.go | 8 +++----- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/controllers/account/api/v1/payment_types.go b/controllers/account/api/v1/payment_types.go index aa844974f..a1fe9d141 100644 --- a/controllers/account/api/v1/payment_types.go +++ b/controllers/account/api/v1/payment_types.go @@ -48,6 +48,7 @@ type PaymentSpec struct { // Amount is the amount of recharge Amount int64 `json:"amount,omitempty"` // e.g. wechat, alipay, creditcard, etc. + //+kubebuilder:default:=wechat PaymentMethod string `json:"paymentMethod,omitempty"` } diff --git a/controllers/account/controllers/account_controller.go b/controllers/account/controllers/account_controller.go index 92d2afd27..4791f5fc5 100644 --- a/controllers/account/controllers/account_controller.go +++ b/controllers/account/controllers/account_controller.go @@ -144,7 +144,7 @@ func (r *AccountReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // get payment handler payHandler, err := pay.NewPayHandler(payment.Spec.PaymentMethod) if err != nil { - r.Logger.Error(err, "get payment handler failed: %s", err) + r.Logger.Error(err, "get payment handler failed") return ctrl.Result{}, err } // get payment details(status, amount) @@ -372,13 +372,13 @@ func (r *AccountReconciler) DeletePayment(ctx context.Context) error { //get payment handler payHandler, err := pay.NewPayHandler(payment.Spec.PaymentMethod) if err != nil { - r.Logger.Error(err, "get payment handler failed: %s", err) + r.Logger.Error(err, "get payment handler failed") return err } //expire session if it is necessary err = payHandler.ExpireSession(payment.Status.TradeNO) if err != nil { - r.Logger.Error(err, "cancel payment failed: %s", err) + r.Logger.Error(err, "cancel payment failed") return err } //delete payment if it is exist for more than 5 minutes diff --git a/controllers/account/controllers/payment_controller.go b/controllers/account/controllers/payment_controller.go index 1a141b360..05153c526 100644 --- a/controllers/account/controllers/payment_controller.go +++ b/controllers/account/controllers/payment_controller.go @@ -80,11 +80,11 @@ func (r *PaymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // get payment handler payHandler, err := pay.NewPayHandler(p.Spec.PaymentMethod) if err != nil { - r.Logger.Error(err, "get payment Interface failed: %s", err) + r.Logger.Error(err, "get payment Interface failed") return ctrl.Result{}, err } // get tradeNO and codeURL - tradeNO, codeURL, err := payHandler.CreatePayment(p.Spec.Amount, p.Spec.UserID) + tradeNO, codeURL, err := payHandler.CreatePayment(p.Spec.Amount/10000, p.Spec.UserID) if err != nil { r.Logger.Error(err, "get tradeNO and codeURL failed") return ctrl.Result{Requeue: true, RequeueAfter: time.Second}, err diff --git a/pkg/pay/interface.go b/pkg/pay/interface.go index a28dd1abd..fd964cbc5 100644 --- a/pkg/pay/interface.go +++ b/pkg/pay/interface.go @@ -14,10 +14,6 @@ package pay -import ( - "fmt" -) - type Interface interface { CreatePayment(amount int64, user string) (string, string, error) GetPaymentDetails(sessionID string) (string, int64, error) @@ -31,6 +27,8 @@ func NewPayHandler(paymentMethod string) (Interface, error) { case "wechat": return &WechatPayment{}, nil default: - return nil, fmt.Errorf("unsupported payment method: %s", paymentMethod) + //return nil, fmt.Errorf("unsupported payment method: %s", paymentMethod) + //TODO Now set it as the default wechat, and modify it a few days later + return &WechatPayment{}, nil } }