Files
2026-09-23 17:42:55 +08:00

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"`
}