Files
huangguo_server/models/v/videogoldcoinmod/app.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

54 lines
2.6 KiB
Go

package videogoldcoinmod
import (
"91porn-server/models/v/vidmod"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo/options"
"time"
)
type QueryVideoGoldCoinCond struct {
Page int64 `form:"pageNumber" binding:"required"` // 当前页码
Limit int64 `form:"pageSize" binding:"required"` // 每页条数
}
type QueryVideoGoldCoinRes struct {
List []*APPVideoGoldCoin `json:"list" bson:"list"` // 视频列表
ActivityDetail ActivityDetail `json:"activityDetail" bson:"activityDetail"` // 活动详情
HasNext bool `json:"hasNext" bson:"hasNext"` // 是否还有下一页
Total int64 `json:"total" bson:"total"` // 视频总数
}
type ActivityDetail struct {
StartTime time.Time `json:"startTime" bson:"startTime,omitempty"` // 支付尾款开始时间
EndTime time.Time `json:"endTime" bson:"endTime,omitempty"` // 支付尾款/活动 结束时间
BalancePayment bool `json:"balancePayment" bson:"balancePayment"` // 是否有尾款支付
ActivityTime time.Time `json:"activityTime" bson:"activityTime,omitempty"` // 活动时间
AdvanceAmount int64 `bson:"advanceAmount" json:"advanceAmount"` // 预付金额
BalanceAmount int64 `bson:"balanceAmount" json:"balanceAmount"` // 尾款金额
Status int `json:"status" bson:"status"` // 预售订单状态
TotalCount int64 `json:"totalCount" bson:"totalCount,omitempty"` // 会员卡总数
}
type APPVideoGoldCoin struct {
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"` // id
VidId primitive.ObjectID `json:"vidId" bson:"vidId"` // 帖子id
VidTitle string `json:"vidTitle" bson:"vidTitle"` // 视频标题
SourceURL string `json:"sourceURL" bson:"sourceURL"` // 视频资源地址Path
Cover string `json:"cover" bson:"cover"` // 封面图
SeriesCover []string `json:"seriesCover" bson:"seriesCover"` // 帖子套图
Coins int64 `json:"coins" bson:"coins"` // 定价
Detail *vidmod.VideoInfo `json:"detail" bson:"detail"` // 详细数据
}
func (receiver *QueryVideoGoldCoinCond) Filter() bson.M {
var query = bson.M{}
query["status"] = 1
return query
}
func (receiver QueryVideoGoldCoinCond) Options() *options.FindOptions {
return options.Find().SetSkip((receiver.Page - 1) * receiver.Limit).SetLimit(receiver.Limit + 1).SetSort(bson.M{"sortCode": -1})
}