From efe1f37eb1d66ed81d6a2bb85cfae1b517708df4 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 11 May 2023 21:16:20 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E5=A5=BD=E5=8F=8B):=20?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E7=82=B9=E6=95=B0=E6=94=B9=E5=90=8D=E5=90=8E?= =?UTF-8?q?=E4=B8=8A=E9=99=90=E4=BC=9A=E5=A4=B1=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/db/FriendPoint.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shared/db/FriendPoint.ts b/shared/db/FriendPoint.ts index 439fec3e8..146d4716b 100644 --- a/shared/db/FriendPoint.ts +++ b/shared/db/FriendPoint.ts @@ -34,21 +34,21 @@ export default class FriendPoint extends BaseModel { public static async updatePointToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) { const curTime = getZeroPointD(); // 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数:cntInc - (newCnt - maxPerDay) - const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, cnt: {$lt: maxPerDay}, type}, {$inc: {cnt: cntInc, sendCnt: 0}}, {upsert: true, new: true}).lean(lean); + const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, cnt: {$lt: maxPerDay}, type}, { $setOnInsert: { roleName }, $inc: {cnt: cntInc, sendCnt: 0}}, {upsert: true, new: true}).lean(lean); return rec; } public static async updateSendCntToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) { const curTime = getZeroPointD(); // 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数:cntInc - (newCnt - maxPerDay) - const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, sendCnt: {$lt: maxPerDay}, type}, {$inc: {sendCnt: cntInc, cnt: 0}}, {upsert: true, new: true}).lean(lean); + const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, sendCnt: {$lt: maxPerDay}, type}, {$setOnInsert: { roleName }, $inc: {sendCnt: cntInc, cnt: 0}}, {upsert: true, new: true}).lean(lean); return rec; } public static async updateComBattleCntToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) { const curTime = getZeroPointD(); // 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数:cntInc - (newCnt - maxPerDay) - const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, comBattleCnt: {$lt: maxPerDay}, type}, {$inc: {comBattleCnt: cntInc}}, {upsert: true, new: true}).lean(lean); + const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, comBattleCnt: {$lt: maxPerDay}, type}, {$setOnInsert: { roleName }, $inc: {comBattleCnt: cntInc}}, {upsert: true, new: true}).lean(lean); return rec; }