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 }, {})