feat: add refund statuses

This commit is contained in:
Rogee
2025-05-06 20:23:06 +08:00
parent b7ebdf1ce6
commit 41cdc821da
13 changed files with 266 additions and 114 deletions

View File

@@ -19,10 +19,14 @@ const (
OrderStatusPending OrderStatus = iota
// OrderStatusPaid is a OrderStatus of type Paid.
OrderStatusPaid
// OrderStatusRefunding is a OrderStatus of type Refunding.
OrderStatusRefunding
// OrderStatusRefunded is a OrderStatus of type Refunded.
OrderStatusRefunded
// OrderStatusRefundSuccess is a OrderStatus of type Refund_success.
OrderStatusRefundSuccess
// OrderStatusRefundClosed is a OrderStatus of type Refund_closed.
OrderStatusRefundClosed
// OrderStatusRefundProcessing is a OrderStatus of type Refund_processing.
OrderStatusRefundProcessing
// OrderStatusRefundAbnormal is a OrderStatus of type Refund_abnormal.
OrderStatusRefundAbnormal
// OrderStatusCancelled is a OrderStatus of type Cancelled.
OrderStatusCancelled
// OrderStatusCompleted is a OrderStatus of type Completed.
@@ -31,15 +35,17 @@ const (
var ErrInvalidOrderStatus = fmt.Errorf("not a valid OrderStatus, try [%s]", strings.Join(_OrderStatusNames, ", "))
const _OrderStatusName = "pendingpaidrefundingrefundedcancelledcompleted"
const _OrderStatusName = "pendingpaidrefund_successrefund_closedrefund_processingrefund_abnormalcancelledcompleted"
var _OrderStatusNames = []string{
_OrderStatusName[0:7],
_OrderStatusName[7:11],
_OrderStatusName[11:20],
_OrderStatusName[20:28],
_OrderStatusName[28:37],
_OrderStatusName[37:46],
_OrderStatusName[11:25],
_OrderStatusName[25:38],
_OrderStatusName[38:55],
_OrderStatusName[55:70],
_OrderStatusName[70:79],
_OrderStatusName[79:88],
}
// OrderStatusNames returns a list of possible string values of OrderStatus.
@@ -54,20 +60,24 @@ func OrderStatusValues() []OrderStatus {
return []OrderStatus{
OrderStatusPending,
OrderStatusPaid,
OrderStatusRefunding,
OrderStatusRefunded,
OrderStatusRefundSuccess,
OrderStatusRefundClosed,
OrderStatusRefundProcessing,
OrderStatusRefundAbnormal,
OrderStatusCancelled,
OrderStatusCompleted,
}
}
var _OrderStatusMap = map[OrderStatus]string{
OrderStatusPending: _OrderStatusName[0:7],
OrderStatusPaid: _OrderStatusName[7:11],
OrderStatusRefunding: _OrderStatusName[11:20],
OrderStatusRefunded: _OrderStatusName[20:28],
OrderStatusCancelled: _OrderStatusName[28:37],
OrderStatusCompleted: _OrderStatusName[37:46],
OrderStatusPending: _OrderStatusName[0:7],
OrderStatusPaid: _OrderStatusName[7:11],
OrderStatusRefundSuccess: _OrderStatusName[11:25],
OrderStatusRefundClosed: _OrderStatusName[25:38],
OrderStatusRefundProcessing: _OrderStatusName[38:55],
OrderStatusRefundAbnormal: _OrderStatusName[55:70],
OrderStatusCancelled: _OrderStatusName[70:79],
OrderStatusCompleted: _OrderStatusName[79:88],
}
// String implements the Stringer interface.
@@ -88,10 +98,12 @@ func (x OrderStatus) IsValid() bool {
var _OrderStatusValue = map[string]OrderStatus{
_OrderStatusName[0:7]: OrderStatusPending,
_OrderStatusName[7:11]: OrderStatusPaid,
_OrderStatusName[11:20]: OrderStatusRefunding,
_OrderStatusName[20:28]: OrderStatusRefunded,
_OrderStatusName[28:37]: OrderStatusCancelled,
_OrderStatusName[37:46]: OrderStatusCompleted,
_OrderStatusName[11:25]: OrderStatusRefundSuccess,
_OrderStatusName[25:38]: OrderStatusRefundClosed,
_OrderStatusName[38:55]: OrderStatusRefundProcessing,
_OrderStatusName[55:70]: OrderStatusRefundAbnormal,
_OrderStatusName[70:79]: OrderStatusCancelled,
_OrderStatusName[79:88]: OrderStatusCompleted,
}
// ParseOrderStatus attempts to convert a string to a OrderStatus.

View File

@@ -1,16 +1,15 @@
package fields
import (
"quyun/providers/wepay"
"github.com/go-pay/gopay/wechat/v3"
)
// swagger:enum OrderStatus
// ENUM( pending, paid, refunding, refunded, cancelled, completed)
// ENUM( pending, paid, refund_success, refund_closed, refund_processing, refund_abnormal, cancelled, completed)
type OrderStatus int16
type OrderMeta struct {
PayNotify wepay.PayNotify `json:"pay_notify"`
RefundResp *wechat.RefundOrderResponse `json:"refund_resp"`
PayNotify *wechat.V3DecryptPayResult `json:"pay_notify"`
RefundResp *wechat.RefundOrderResponse `json:"refund_resp"`
RefundNotify *wechat.V3DecryptRefundResult `json:"refund_notify"`
}