57 lines
2.3 KiB
Go
57 lines
2.3 KiB
Go
package responses
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// UserSimpleResponse 用户简单信息响应
|
|
type UserSimpleResponse struct {
|
|
ID string `json:"id" comment:"用户ID"`
|
|
CompanyName string `json:"company_name" comment:"公司名称"`
|
|
Phone string `json:"phone" comment:"手机号"`
|
|
}
|
|
|
|
// SubscriptionInfoResponse 订阅详情响应
|
|
type SubscriptionInfoResponse struct {
|
|
ID string `json:"id" comment:"订阅ID"`
|
|
UserID string `json:"user_id" comment:"用户ID"`
|
|
ProductID string `json:"product_id" comment:"产品ID"`
|
|
Price float64 `json:"price" comment:"订阅价格"`
|
|
APIUsed int64 `json:"api_used" comment:"已使用API调用次数"`
|
|
|
|
// 关联信息
|
|
User *UserSimpleResponse `json:"user,omitempty" comment:"用户信息"`
|
|
Product *ProductSimpleResponse `json:"product,omitempty" comment:"产品信息"`
|
|
|
|
CreatedAt time.Time `json:"created_at" comment:"创建时间"`
|
|
UpdatedAt time.Time `json:"updated_at" comment:"更新时间"`
|
|
}
|
|
|
|
// SubscriptionListResponse 订阅列表响应
|
|
type SubscriptionListResponse struct {
|
|
Total int64 `json:"total" comment:"总数"`
|
|
Page int `json:"page" comment:"页码"`
|
|
Size int `json:"size" comment:"每页数量"`
|
|
Items []SubscriptionInfoResponse `json:"items" comment:"订阅列表"`
|
|
}
|
|
|
|
// SubscriptionSimpleResponse 订阅简单信息响应
|
|
type SubscriptionSimpleResponse struct {
|
|
ID string `json:"id" comment:"订阅ID"`
|
|
ProductID string `json:"product_id" comment:"产品ID"`
|
|
Price float64 `json:"price" comment:"订阅价格"`
|
|
APIUsed int64 `json:"api_used" comment:"已使用API调用次数"`
|
|
}
|
|
|
|
// SubscriptionUsageResponse 订阅使用情况响应
|
|
type SubscriptionUsageResponse struct {
|
|
ID string `json:"id" comment:"订阅ID"`
|
|
ProductID string `json:"product_id" comment:"产品ID"`
|
|
APIUsed int64 `json:"api_used" comment:"已使用API调用次数"`
|
|
}
|
|
|
|
// SubscriptionStatsResponse 订阅统计响应
|
|
type SubscriptionStatsResponse struct {
|
|
TotalSubscriptions int64 `json:"total_subscriptions" comment:"订阅总数"`
|
|
TotalRevenue float64 `json:"total_revenue" comment:"总收入"`
|
|
} |