package dto import ( "quyun/v2/app/requests" "quyun/v2/pkg/consts" ) type ApplyForm struct { // Name 频道/创作者名称。 Name string `json:"name"` // Bio 频道简介。 Bio string `json:"bio"` // Avatar 头像URL。 Avatar string `json:"avatar"` } type DashboardStats struct { // TotalFollowers 粉丝总数统计。 TotalFollowers IntStatItem `json:"total_followers"` // TotalRevenue 累计收入统计(单位元)。 TotalRevenue FloatStatItem `json:"total_revenue"` // PendingRefunds 待处理退款数量。 PendingRefunds int `json:"pending_refunds"` // NewMessages 新消息数量。 NewMessages int `json:"new_messages"` } type IntStatItem struct { // Value 统计数值。 Value int `json:"value"` // Trend 环比/同比变化比例。 Trend float64 `json:"trend"` } type FloatStatItem struct { // Value 统计数值(浮点)。 Value float64 `json:"value"` // Trend 环比/同比变化比例。 Trend float64 `json:"trend"` } type ContentCreateForm struct { // Title 内容标题。 Title string `json:"title"` // Genre 内容分类/风格。 Genre string `json:"genre"` // Key 音乐调性或主音。 Key string `json:"key"` // Price 价格(单位元)。 Price float64 `json:"price"` // Status 内容状态(draft/published)。 Status string `json:"status"` // CoverIDs 封面资源ID集合。 CoverIDs []int64 `json:"cover_ids"` // MediaIDs 媒体资源ID集合(音频/视频/图片)。 MediaIDs []int64 `json:"media_ids"` } type ContentUpdateForm struct { // Title 内容标题(为空表示不修改)。 Title string `json:"title"` // Genre 内容分类/风格。 Genre string `json:"genre"` // Key 音乐调性或主音。 Key string `json:"key"` // Price 价格(单位元,nil 表示不修改)。 Price *float64 `json:"price"` // Status 内容状态(draft/published)。 Status string `json:"status"` // IsPinned 是否置顶。 IsPinned *bool `json:"is_pinned"` // CoverIDs 封面资源ID集合。 CoverIDs []int64 `json:"cover_ids"` // MediaIDs 媒体资源ID集合。 MediaIDs []int64 `json:"media_ids"` } type ContentEditDTO struct { // ID 内容ID。 ID int64 `json:"id"` // Title 内容标题。 Title string `json:"title"` // Genre 内容分类。 Genre string `json:"genre"` // Key 音乐调性或主音。 Key string `json:"key"` // Description 内容简介。 Description string `json:"description"` // Status 内容状态。 Status string `json:"status"` // Price 价格(单位元)。 Price float64 `json:"price"` // EnableTrial 是否开启试读/试听。 EnableTrial bool `json:"enable_trial"` // PreviewSeconds 试看/试听秒数。 PreviewSeconds int `json:"preview_seconds"` // Assets 资源列表(封面/媒体)。 Assets []AssetDTO `json:"assets"` } type CreatorContentItem struct { // ID 内容ID。 ID int64 `json:"id"` // Title 内容标题。 Title string `json:"title"` // Genre 内容分类。 Genre string `json:"genre"` // Key 音乐调性或主音。 Key string `json:"key"` // Price 价格(单位元)。 Price float64 `json:"price"` // Views 浏览量。 Views int `json:"views"` // Likes 点赞数。 Likes int `json:"likes"` // Cover 封面URL。 Cover string `json:"cover"` // ImageCount 图片素材数量。 ImageCount int `json:"image_count"` // VideoCount 视频素材数量。 VideoCount int `json:"video_count"` // AudioCount 音频素材数量。 AudioCount int `json:"audio_count"` // Status 内容状态。 Status string `json:"status"` // Visibility 可见性。 Visibility string `json:"visibility"` // CreatedAt 创建时间(RFC3339)。 CreatedAt string `json:"created_at"` // IsPinned 是否置顶。 IsPinned bool `json:"is_pinned"` // IsPurchased 是否已购买。 IsPurchased bool `json:"is_purchased"` } type AssetDTO struct { // ID 资源ID。 ID int64 `json:"id"` // Role 资源角色(cover/media/preview)。 Role string `json:"role"` // Type 资源类型(image/audio/video)。 Type string `json:"type"` // URL 资源访问地址。 URL string `json:"url"` // Name 文件名。 Name string `json:"name"` // Size 文件大小描述。 Size string `json:"size"` // Sort 排序权重。 Sort int `json:"sort"` } type CreatorContentListFilter struct { // Pagination 分页参数(page/limit)。 requests.Pagination // Status 内容状态过滤。 Status *string `query:"status"` // Visibility 可见性过滤。 Visibility *string `query:"visibility"` // Genre 分类筛选。 Genre *string `query:"genre"` // Key 调性筛选。 Key *string `query:"key"` // Keyword 关键词搜索(标题/简介)。 Keyword *string `query:"keyword"` // Sort 排序规则。 Sort *string `query:"sort"` } type CreatorOrderListFilter struct { // Pagination 分页参数(page/limit)。 requests.Pagination // Status 订单状态过滤。 Status *string `query:"status"` // Keyword 关键词搜索(订单号/内容标题)。 Keyword *string `query:"keyword"` } type RefundForm struct { // Action 处理动作(accept/reject)。 Action string `json:"action"` // Reason 退款原因/备注。 Reason string `json:"reason"` } type Settings struct { // ID 租户/频道ID。 ID int64 `json:"id"` // Name 频道名称。 Name string `json:"name"` // Bio 频道简介。 Bio string `json:"bio"` // Avatar 头像URL。 Avatar string `json:"avatar"` // Cover 封面图URL。 Cover string `json:"cover"` // Description 详细描述。 Description string `json:"description"` } type PayoutAccount struct { // ID 收款账户ID。 ID int64 `json:"id"` // Type 账户类型(bank/alipay)。 Type string `json:"type"` // Name 账户名称/开户行。 Name string `json:"name"` // Account 收款账号。 Account string `json:"account"` // Realname 收款人姓名。 Realname string `json:"realname"` // Status 审核状态(pending/approved/rejected)。 Status consts.PayoutAccountStatus `json:"status"` // StatusDescription 审核状态描述(用于展示)。 StatusDescription string `json:"status_description"` // ReviewedAt 审核时间(RFC3339)。 ReviewedAt string `json:"reviewed_at"` // ReviewReason 审核说明/驳回原因。 ReviewReason string `json:"review_reason"` } type WithdrawForm struct { // Amount 提现金额(单位元)。 Amount float64 `json:"amount"` // Method 提现方式(wallet/external)。 Method string `json:"method"` // AccountID 收款账户ID。 AccountID int64 `json:"account_id"` }