Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

57 lines
1.4 KiB
Go

package active2023mod
import (
"fmt"
"time"
"91porn-server/common/db"
"91porn-server/models"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
)
const active2023LotteryFreeInc = models.Active2023FreeLotteryInc // 用户免费次数新增表
func initFreeIndex() {
coll := active2023LotteryFreeIncColl(nil)
many := []mongo.IndexModel{ //batch set indexes //value is the type 1 or -1
{
Keys: bson.D{{Key: "uid", Value: 1}},
},
}
if _, err := coll.CreateIndex(many); err != nil {
panic(fmt.Sprintf("%s model set index err ==>[%+v]", active2023PrizeTable, err))
}
}
func active2023LotteryFreeIncColl(t *db.MongoTool) *db.MongoTool {
if t == nil {
return mdb.Coll(active2023LotteryFreeInc)
}
return t.Coll(active2023LotteryFreeInc)
}
// 添加免费次数
func AddLotteryCountFree(t *db.MongoTool, uid int64, fi FreeLotteryInc) error {
f := bson.M{"uid": uid}
now := time.Now()
update := bson.M{"$inc": bson.M{"lotteryRemain": fi.Count}, "$set": bson.M{"updatedAt": now}}
result, err := active2023UserColl(t).UpdateOne(f, update)
if err != nil {
return err
}
if result.ModifiedCount != 1 {
if _, err := active2023UserColl(t).InsertOne(&UserActive2023{
UID: uid,
LotteryRemain: fi.Count,
CreatedAt: now,
UpdatedAt: now,
}); err != nil {
return err
}
}
_, err = active2023LotteryFreeIncColl(t).InsertOne(fi)
return err
}