@@ -0,0 +1,118 @@
|
||||
package integralconfigmod
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
type AddCond struct {
|
||||
Name string `json:"name" bson:"name"` // 积分名称
|
||||
Duration uint64 `json:"duration" bson:"duration"` // 积分持续天数
|
||||
Desc string `json:"desc" bson:"desc"` // 描述
|
||||
Img string `json:"img" bson:"img"` // 图片LOGO
|
||||
Price int64 `json:"price" bson:"price"` // 积分价格
|
||||
EquivalentPrice int64 `json:"equivalentPrice" bson:"equivalentPrice"` // 积分价值
|
||||
Type int `json:"type" bson:"type"` // 类型
|
||||
Status bool `json:"status" bson:"status"` // 积分状态
|
||||
SortCode int64 `json:"sortCode" bson:"sortCode"` // 排序
|
||||
}
|
||||
|
||||
func (receiver *AddCond) Generate(addAct string) IntegralConfig {
|
||||
now := time.Now()
|
||||
return IntegralConfig{
|
||||
Name: receiver.Name,
|
||||
Duration: receiver.Duration,
|
||||
Desc: receiver.Desc,
|
||||
Price: receiver.Price,
|
||||
EquivalentPrice: receiver.EquivalentPrice,
|
||||
Status: receiver.Status,
|
||||
Type: receiver.Type,
|
||||
SortCode: receiver.SortCode,
|
||||
Img: receiver.Img,
|
||||
UpdateAct: addAct,
|
||||
UpdateTime: now,
|
||||
CreateTime: now,
|
||||
}
|
||||
}
|
||||
|
||||
type EditCond struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"` // 文档
|
||||
Name *string `json:"name" bson:"name"` // 积分名称
|
||||
Duration *uint64 `json:"duration" bson:"duration"` // 积分持续天数
|
||||
Desc *string `json:"desc" bson:"desc"` // 描述
|
||||
Img *string `json:"img" bson:"img"` // 图片LOGO
|
||||
Price *int64 `json:"price" bson:"price"` // 积分价格
|
||||
EquivalentPrice *int64 `json:"equivalentPrice" bson:"equivalentPrice"` // 积分价值
|
||||
Type *int `json:"type" bson:"type"` // 类型
|
||||
Status *bool `json:"status" bson:"status"` // 积分状态
|
||||
SortCode *int64 `json:"sortCode" bson:"sortCode"` // 排序
|
||||
}
|
||||
|
||||
func (receiver *EditCond) Filter() bson.M {
|
||||
return bson.M{"_id": receiver.ID}
|
||||
}
|
||||
|
||||
func (receiver *EditCond) Update(updateAct string) bson.M {
|
||||
var update = bson.M{}
|
||||
if receiver.Name != nil {
|
||||
update["name"] = receiver.Name
|
||||
}
|
||||
if receiver.Duration != nil {
|
||||
update["duration"] = receiver.Duration
|
||||
}
|
||||
if receiver.Desc != nil {
|
||||
update["desc"] = receiver.Desc
|
||||
}
|
||||
if receiver.Price != nil {
|
||||
update["price"] = receiver.Price
|
||||
}
|
||||
if receiver.EquivalentPrice != nil {
|
||||
update["equivalentPrice"] = receiver.EquivalentPrice
|
||||
}
|
||||
if receiver.Status != nil {
|
||||
update["status"] = receiver.Status
|
||||
}
|
||||
if receiver.SortCode != nil {
|
||||
update["sortCode"] = receiver.SortCode
|
||||
}
|
||||
if receiver.Img != nil {
|
||||
update["img"] = receiver.Img
|
||||
}
|
||||
if receiver.Type != nil {
|
||||
update["type"] = receiver.Type
|
||||
}
|
||||
update["updateAct"] = updateAct
|
||||
update["updateTime"] = time.Now()
|
||||
update["reviewAt"] = time.Now()
|
||||
return bson.M{"$set": update}
|
||||
}
|
||||
|
||||
type QueryAllCond struct {
|
||||
Page int64 `form:"page" binding:"required"` // 当前页
|
||||
Limit int64 `form:"limit" binding:"required"` // 页码
|
||||
ID *string `form:"id"` // ID
|
||||
Status *bool `form:"status"` // 审核状态 0未审核 1 通过 2 拒绝
|
||||
}
|
||||
|
||||
type QueryAllRes struct {
|
||||
List []*IntegralConfig `json:"list"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
|
||||
func (receiver *QueryAllCond) Filter() bson.M {
|
||||
var query = bson.M{}
|
||||
if receiver.Status != nil {
|
||||
query["status"] = receiver.Status
|
||||
}
|
||||
if receiver.ID != nil {
|
||||
query["_id"] = receiver.ID
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
func (receiver QueryAllCond) Options() *options.FindOptions {
|
||||
return options.Find().SetSkip((receiver.Page - 1) * receiver.Limit).SetLimit(receiver.Limit).SetSort(bson.M{"updateTime": -1})
|
||||
}
|
||||
Reference in New Issue
Block a user