@@ -0,0 +1,87 @@
|
||||
package signtaskmod
|
||||
|
||||
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"
|
||||
)
|
||||
|
||||
type AddConfigCond struct {
|
||||
Title string `json:"title"` // 任务标题
|
||||
Desc string `json:"desc"` // 任务描述
|
||||
FinishCondition int64 `json:"finishCondition"` // 达成条件 Todo:连续签到多少天
|
||||
Prizes []primitive.ObjectID `json:"prizes"` // 奖品列表
|
||||
ExtraPrizes []primitive.ObjectID `json:"extraPrizes"` // 额外奖品列表
|
||||
Img string `json:"img" bson:"img"` // 任务图片
|
||||
Link string `json:"link" bson:"link"` // 跳转链接
|
||||
Status bool `json:"status"` // 启用/禁用
|
||||
}
|
||||
|
||||
type ModifyConfigCond struct {
|
||||
ID primitive.ObjectID `json:"id"` // 任务id
|
||||
Title *string `json:"title"` // 任务标题
|
||||
Desc *string `json:"desc"` // 任务描述
|
||||
FinishCondition *int64 `json:"finishCondition"` // 达成条件 Todo:连续签到多少天
|
||||
Prizes []primitive.ObjectID `json:"prizes"` // 奖品列表
|
||||
ExtraPrizes []primitive.ObjectID `json:"extraPrizes"` // 额外奖品列表
|
||||
Img *string `json:"img" bson:"img"` // 任务图片
|
||||
Link *string `json:"link" bson:"link"` // 跳转链接
|
||||
Status *bool `json:"status"` // 启用/禁用
|
||||
}
|
||||
|
||||
func (m *ModifyConfigCond) Cond() primitive.M {
|
||||
return bson.M{"_id": m.ID}
|
||||
}
|
||||
|
||||
func (m *ModifyConfigCond) Bson() primitive.M {
|
||||
set := bson.M{"updateTime": time.Now()}
|
||||
if m.FinishCondition != nil {
|
||||
set["finishCondition"] = m.FinishCondition
|
||||
}
|
||||
if m.Title != nil {
|
||||
set["title"] = m.Title
|
||||
}
|
||||
if m.Desc != nil {
|
||||
set["desc"] = m.Desc
|
||||
}
|
||||
if m.FinishCondition != nil {
|
||||
set["finishCondition"] = m.FinishCondition
|
||||
}
|
||||
if m.Prizes != nil {
|
||||
set["prizes"] = m.Prizes
|
||||
}
|
||||
if m.ExtraPrizes != nil {
|
||||
set["extraPrizes"] = m.ExtraPrizes
|
||||
}
|
||||
if m.Img != nil {
|
||||
set["img"] = m.Img
|
||||
}
|
||||
if m.Link != nil {
|
||||
set["link"] = m.Link
|
||||
}
|
||||
if m.Status != nil {
|
||||
set["status"] = m.Status
|
||||
}
|
||||
return bson.M{"$set": set}
|
||||
}
|
||||
|
||||
type QueryAllConfigCond struct {
|
||||
Status *bool `form:"status,omitempty"` // 启用/禁用
|
||||
commod.Page
|
||||
}
|
||||
|
||||
func (q *QueryAllConfigCond) Options() *options.FindOptions {
|
||||
return options.Find().SetLimit(int64(q.PageSize)).SetSkip(int64((q.PageNumber - 1) * q.PageSize)).SetSort(bson.M{"finishCondition": 1})
|
||||
}
|
||||
|
||||
func (q *QueryAllConfigCond) Query() primitive.M {
|
||||
fliter := bson.M{}
|
||||
if q.Status != nil {
|
||||
fliter["status"] = q.Status
|
||||
}
|
||||
return fliter
|
||||
}
|
||||
Reference in New Issue
Block a user