@@ -0,0 +1,171 @@
|
||||
package activitymod
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/models/commod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
// ActReq 活动请求,公告跳转到活动页面
|
||||
type ActReq struct {
|
||||
Token string `form:"token" json:"token"`
|
||||
Type string `form:"type" json:"type"`
|
||||
}
|
||||
|
||||
// 新增活动
|
||||
type AddCond struct {
|
||||
Title string `json:"title"` // 活动名称
|
||||
Desc string `json:"desc"` // 活动注意事项
|
||||
StartTime time.Time `json:"startTime"` // 活动开始时间
|
||||
EndTime time.Time `json:"endTime"` // 活动结束时间
|
||||
}
|
||||
|
||||
// 修改活动
|
||||
type ModifyCond struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"` // 文档ID
|
||||
Title *string `json:"title"` // 活动名称
|
||||
Desc *string `json:"desc"` // 活动注意事项
|
||||
Status *bool `json:"status"` // 状态---启用/禁用
|
||||
StartTime *time.Time `json:"startTime"` // 活动开始时间
|
||||
EndTime *time.Time `json:"endTime"` // 活动结束时间
|
||||
}
|
||||
|
||||
func (m *ModifyCond) Cond() primitive.M {
|
||||
return bson.M{"_id": m.ID}
|
||||
}
|
||||
|
||||
func (m *ModifyCond) Bson() primitive.M {
|
||||
set := bson.M{"updatedAt": time.Now()}
|
||||
if m.Title != nil {
|
||||
set["title"] = m.Title
|
||||
}
|
||||
if m.Desc != nil {
|
||||
set["desc"] = m.Desc
|
||||
}
|
||||
if m.Status != nil {
|
||||
set["status"] = m.Status
|
||||
}
|
||||
if m.StartTime != nil {
|
||||
set["startTime"] = m.StartTime
|
||||
}
|
||||
if m.EndTime != nil {
|
||||
set["endTime"] = m.EndTime
|
||||
}
|
||||
return bson.M{"$set": set}
|
||||
}
|
||||
|
||||
// 查询活动列表
|
||||
type QueryAllCond struct {
|
||||
Status *bool `form:"status"` // 状态---启用/禁用
|
||||
commod.Page
|
||||
}
|
||||
|
||||
func (q *QueryAllCond) Options() *options.FindOptions {
|
||||
return options.Find().SetLimit(int64(q.PageSize)).SetSkip(int64((q.PageNumber - 1) * q.PageSize)).SetSort(bson.M{"createdAt": -1})
|
||||
}
|
||||
|
||||
func (q *QueryAllCond) Query() primitive.M {
|
||||
fliter := bson.M{}
|
||||
if q.Status != nil {
|
||||
fliter["status"] = q.Status
|
||||
}
|
||||
return fliter
|
||||
}
|
||||
|
||||
// 新增活动奖池
|
||||
type AddPrizePoolCond struct {
|
||||
ActivityID primitive.ObjectID `json:"activityId" binding:"required"` // 活动ID
|
||||
Model PrizePoolModel `json:"model"` // 奖池模式
|
||||
EstimatedIncome int64 `json:"estimatedIncome"` // 当日预计收益
|
||||
Price int64 `json:"price"` // 单次抽奖金额
|
||||
FreeCount int32 `json:"freeCount"` // 免费次数
|
||||
}
|
||||
|
||||
// 修改活动奖池
|
||||
type ModifyPrizePoolCond struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"` // 文档ID
|
||||
ActivityID *primitive.ObjectID `json:"activityId"` // 活动ID
|
||||
Model *PrizePoolModel `json:"model"` // 奖池模式
|
||||
EstimatedIncome *int64 `json:"estimatedIncome"` // 当日预计收益
|
||||
Price *int64 `json:"price"` // 单次抽奖金额
|
||||
FreeCount *int32 `json:"freeCount"` // 免费次数
|
||||
}
|
||||
|
||||
func (m *ModifyPrizePoolCond) Cond() primitive.M {
|
||||
return bson.M{"_id": m.ID}
|
||||
}
|
||||
|
||||
func (m *ModifyPrizePoolCond) Bson() primitive.M {
|
||||
set := bson.M{"updatedAt": time.Now()}
|
||||
if m.ActivityID != nil {
|
||||
set["activityId"] = m.ActivityID
|
||||
}
|
||||
if m.Model != nil {
|
||||
set["model"] = m.Model
|
||||
}
|
||||
if m.EstimatedIncome != nil {
|
||||
set["estimatedIncome"] = m.EstimatedIncome
|
||||
}
|
||||
if m.Price != nil {
|
||||
set["price"] = m.Price
|
||||
}
|
||||
if m.FreeCount != nil {
|
||||
set["freeCount"] = m.FreeCount
|
||||
}
|
||||
return bson.M{"$set": set}
|
||||
}
|
||||
|
||||
// 查询活动奖池列表
|
||||
type QueryAllPrizePoolCond struct {
|
||||
Model *PrizePoolModel `form:"model"` // 奖池模式
|
||||
ActivityID *string `form:"activityId"` // 活动ID
|
||||
commod.Page
|
||||
}
|
||||
|
||||
func (q *QueryAllPrizePoolCond) Options() *options.FindOptions {
|
||||
return options.Find().SetLimit(int64(q.PageSize)).SetSkip(int64((q.PageNumber - 1) * q.PageSize)).SetSort(bson.M{"createdAt": -1})
|
||||
}
|
||||
|
||||
func (q *QueryAllPrizePoolCond) Query() primitive.M {
|
||||
fliter := bson.M{}
|
||||
if q.Model != nil {
|
||||
fliter["model"] = q.Model
|
||||
}
|
||||
if q.ActivityID != nil {
|
||||
id, _ := primitive.ObjectIDFromHex(*q.ActivityID)
|
||||
fliter["activityId"] = id
|
||||
}
|
||||
return fliter
|
||||
}
|
||||
|
||||
// 查询活动参与记录列表
|
||||
type QueryAllRecordCond struct {
|
||||
ActivityID *string `form:"activityId"` // 活动ID
|
||||
UID *string `form:"uid"` // 活动ID
|
||||
commod.Page
|
||||
}
|
||||
|
||||
func (q *QueryAllRecordCond) Options() *options.FindOptions {
|
||||
return options.Find().SetLimit(int64(q.PageSize)).SetSkip(int64((q.PageNumber - 1) * q.PageSize)).SetSort(bson.M{"createTime": -1})
|
||||
}
|
||||
|
||||
func (q *QueryAllRecordCond) Query() primitive.M {
|
||||
fliter := bson.M{}
|
||||
if q.UID != nil {
|
||||
fliter["uid"] = q.UID
|
||||
}
|
||||
if q.ActivityID != nil {
|
||||
id, _ := primitive.ObjectIDFromHex(*q.ActivityID)
|
||||
fliter["activityId"] = id
|
||||
}
|
||||
return fliter
|
||||
}
|
||||
|
||||
type OpenBotDrawCond struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"` // 活动ID
|
||||
Status bool
|
||||
}
|
||||
Reference in New Issue
Block a user