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