63 lines
2.1 KiB
Go
63 lines
2.1 KiB
Go
package dto
|
|
|
|
import "time"
|
|
|
|
type RechargePlan struct {
|
|
ID uint `json:"id"`
|
|
Sort int `json:"sort"`
|
|
Diamonds int64 `json:"diamonds"`
|
|
AmountCents int64 `json:"amountCents"`
|
|
Enabled bool `json:"enabled"`
|
|
}
|
|
type RechargeProvider struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
type RechargePlansRequest struct {
|
|
Plans []*RechargePlan `json:"plans" binding:"required"`
|
|
}
|
|
type RechargeOrderListRequest struct {
|
|
LiveListRequest
|
|
OrderNo string `form:"orderNo"`
|
|
UserKeyword string `form:"userKeyword"`
|
|
PaymentStatus string `form:"paymentStatus"`
|
|
Provider string `form:"provider"`
|
|
StartedAt string `form:"startedAt"`
|
|
EndedAt string `form:"endedAt"`
|
|
}
|
|
type RechargeOrderRequest struct {
|
|
PlanID uint `json:"planId" binding:"required"`
|
|
Provider string `json:"provider" binding:"required"`
|
|
NotifyURL string `json:"notifyUrl"`
|
|
ReturnURL string `json:"returnUrl"`
|
|
Extra map[string]any `json:"extra"`
|
|
ClientIP string `json:"-"`
|
|
UserAgent string `json:"-"`
|
|
DeviceID string `json:"-"`
|
|
}
|
|
type RechargeOrderResponse struct {
|
|
ID uint `json:"id"`
|
|
OrderNo string `json:"orderNo"`
|
|
UserID uint `json:"userId"`
|
|
Username string `json:"username"`
|
|
Nickname string `json:"nickname"`
|
|
Diamonds int64 `json:"diamonds"`
|
|
AmountCents int64 `json:"amountCents"`
|
|
Provider string `json:"provider"`
|
|
ProviderTradeNo string `json:"providerTradeNo"`
|
|
PaymentStatus string `json:"paymentStatus"`
|
|
FulfillmentStatus string `json:"fulfillmentStatus"`
|
|
RefundStatus string `json:"refundStatus"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
CreditedAt *time.Time `json:"creditedAt"`
|
|
}
|
|
type RechargeCheckoutResponse struct {
|
|
Order *RechargeOrderResponse `json:"order"`
|
|
Payment *PaymentResultResponse `json:"payment"`
|
|
}
|
|
type RechargeSummary struct {
|
|
Count int64 `json:"count"`
|
|
PaidCount int64 `json:"paidCount"`
|
|
AmountCents int64 `json:"amountCents"`
|
|
}
|