From e9cfb8c5e5cc5c2f7de91c8a05ea028282931fd2 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Tue, 23 Apr 2024 21:24:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=BE=E5=88=B0=E5=B7=B2?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E7=9A=84=E5=88=A4=E6=96=AD=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/game.controller.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/controllers/game.controller.ts b/src/controllers/game.controller.ts index efffbb6..7048958 100644 --- a/src/controllers/game.controller.ts +++ b/src/controllers/game.controller.ts @@ -35,13 +35,14 @@ class GameController extends BaseController { } } const dateTag = day || formatDate(new Date()) - const ticketRecordExists = await TicketRecord.findOne({ - user: user.id, - activity: user.activity, - type: DAILY_SIGN, - 'data.dataTag': dateTag, + const exists = await TicketRecord.find({ user: user.id, activity: user.activity, type: DAILY_SIGN }) + const existsSet = new Set() + exists.forEach(record => { + // @ts-ignore + let dateTag = record.data?.dateTag || formatDate(record.createdAt) + existsSet.add(dateTag) }) - if (ticketRecordExists) { + if (existsSet.has(dateTag)) { throw new ZError(12, 'already claimed') } const gameRecord = await ActivityGame.insertOrUpdate({ user: user.id, activity: user.activity }, {})