128 lines
5.1 KiB
Go
128 lines
5.1 KiB
Go
package responses
|
||
|
||
import (
|
||
"time"
|
||
|
||
"github.com/shopspring/decimal"
|
||
)
|
||
|
||
// WalletResponse 钱包响应
|
||
type WalletResponse struct {
|
||
ID string `json:"id"`
|
||
UserID string `json:"user_id"`
|
||
IsActive bool `json:"is_active"`
|
||
Balance decimal.Decimal `json:"balance"`
|
||
BalanceStatus string `json:"balance_status"` // normal, low, arrears
|
||
IsArrears bool `json:"is_arrears"` // 是否欠费
|
||
IsLowBalance bool `json:"is_low_balance"` // 是否余额较低
|
||
CreatedAt time.Time `json:"created_at"`
|
||
UpdatedAt time.Time `json:"updated_at"`
|
||
}
|
||
|
||
// TransactionResponse 交易响应
|
||
type TransactionResponse struct {
|
||
TransactionID string `json:"transaction_id"`
|
||
Amount decimal.Decimal `json:"amount"`
|
||
}
|
||
|
||
// UserSecretsResponse 用户密钥响应
|
||
type UserSecretsResponse struct {
|
||
ID string `json:"id"`
|
||
UserID string `json:"user_id"`
|
||
AccessID string `json:"access_id"`
|
||
AccessKey string `json:"access_key"`
|
||
IsActive bool `json:"is_active"`
|
||
LastUsedAt *time.Time `json:"last_used_at"`
|
||
ExpiresAt *time.Time `json:"expires_at"`
|
||
CreatedAt time.Time `json:"created_at"`
|
||
UpdatedAt time.Time `json:"updated_at"`
|
||
}
|
||
|
||
// WalletStatsResponse 钱包统计响应
|
||
type WalletStatsResponse struct {
|
||
TotalWallets int64 `json:"total_wallets"`
|
||
ActiveWallets int64 `json:"active_wallets"`
|
||
TotalBalance decimal.Decimal `json:"total_balance"`
|
||
TodayTransactions int64 `json:"today_transactions"`
|
||
TodayVolume decimal.Decimal `json:"today_volume"`
|
||
}
|
||
|
||
// RechargeRecordResponse 充值记录响应
|
||
type RechargeRecordResponse struct {
|
||
ID string `json:"id"`
|
||
UserID string `json:"user_id"`
|
||
Amount decimal.Decimal `json:"amount"`
|
||
RechargeType string `json:"recharge_type"`
|
||
Status string `json:"status"`
|
||
AlipayOrderID string `json:"alipay_order_id,omitempty"`
|
||
WechatOrderID string `json:"wechat_order_id,omitempty"`
|
||
TransferOrderID string `json:"transfer_order_id,omitempty"`
|
||
Platform string `json:"platform,omitempty"` // 支付平台:pc/wx_native等
|
||
Notes string `json:"notes,omitempty"`
|
||
OperatorID string `json:"operator_id,omitempty"`
|
||
CompanyName string `json:"company_name,omitempty"`
|
||
User *UserSimpleResponse `json:"user,omitempty"`
|
||
CreatedAt time.Time `json:"created_at"`
|
||
UpdatedAt time.Time `json:"updated_at"`
|
||
}
|
||
|
||
// WalletTransactionResponse 钱包交易记录响应
|
||
type WalletTransactionResponse struct {
|
||
ID string `json:"id"`
|
||
UserID string `json:"user_id"`
|
||
ApiCallID string `json:"api_call_id"`
|
||
TransactionID string `json:"transaction_id"`
|
||
ProductID string `json:"product_id"`
|
||
ProductName string `json:"product_name"`
|
||
Amount decimal.Decimal `json:"amount"`
|
||
CompanyName string `json:"company_name,omitempty"`
|
||
User *UserSimpleResponse `json:"user,omitempty"`
|
||
CreatedAt time.Time `json:"created_at"`
|
||
UpdatedAt time.Time `json:"updated_at"`
|
||
}
|
||
|
||
// WalletTransactionListResponse 钱包交易记录列表响应
|
||
type WalletTransactionListResponse struct {
|
||
Items []WalletTransactionResponse `json:"items"`
|
||
Total int64 `json:"total"`
|
||
Page int `json:"page"`
|
||
Size int `json:"size"`
|
||
}
|
||
|
||
// RechargeRecordListResponse 充值记录列表响应
|
||
type RechargeRecordListResponse struct {
|
||
Items []RechargeRecordResponse `json:"items"`
|
||
Total int64 `json:"total"`
|
||
Page int `json:"page"`
|
||
Size int `json:"size"`
|
||
}
|
||
|
||
// AlipayRechargeOrderResponse 支付宝充值订单响应
|
||
type AlipayRechargeOrderResponse struct {
|
||
PayURL string `json:"pay_url"` // 支付链接
|
||
OutTradeNo string `json:"out_trade_no"` // 商户订单号
|
||
Amount decimal.Decimal `json:"amount"` // 充值金额
|
||
Platform string `json:"platform"` // 支付平台
|
||
Subject string `json:"subject"` // 订单标题
|
||
}
|
||
|
||
// RechargeConfigResponse 充值配置响应
|
||
type RechargeConfigResponse struct {
|
||
MinAmount string `json:"min_amount"` // 最低充值金额
|
||
MaxAmount string `json:"max_amount"` // 最高充值金额
|
||
AlipayRechargeBonus []AlipayRechargeBonusRuleResponse `json:"alipay_recharge_bonus"`
|
||
}
|
||
|
||
// AlipayRechargeBonusRuleResponse 支付宝充值赠送规则响应
|
||
type AlipayRechargeBonusRuleResponse struct {
|
||
RechargeAmount float64 `json:"recharge_amount"`
|
||
BonusAmount float64 `json:"bonus_amount"`
|
||
}
|
||
|
||
// UserSimpleResponse 用户简单信息响应
|
||
type UserSimpleResponse struct {
|
||
ID string `json:"id"`
|
||
CompanyName string `json:"company_name"`
|
||
Phone string `json:"phone"`
|
||
}
|