Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+92
View File
@@ -0,0 +1,92 @@
package taskmod
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:连续签到多少天
Type ConfigType `json:"type" binding:"required"` // 配置类型 1-购买金币
//Prizes []primitive.ObjectID `json:"prizes"` // 奖品列表(暂时不需要)
Img string `json:"img" bson:"img"` // 任务图片
Detail []TaskDetail `json:"detail" bson:"detail"` // 任务详情(进阶任务使用)
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:连续签到多少天
Type *ConfigType `json:"type" binding:"required"` // 配置类型 1-购买金币
//Prizes []primitive.ObjectID `json:"prizes"` // 奖品列表(暂时不需要)
Img *string `json:"img" bson:"img"` // 任务图片
Detail []TaskDetail `json:"detail" bson:"detail"` // 任务详情(进阶任务使用)
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.Type != nil {
set["type"] = m.Type
}
//if len(m.Prizes) > 0 {
// set["prizes"] = m.Prizes
//}
if len(m.Detail) > 0 {
set["detail"] = m.Detail
}
if m.Img != nil {
set["img"] = m.Img
}
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
}