diff --git a/src/lottery/schedules/dailyQuiz.ts b/src/lottery/schedules/dailyQuiz.ts index 3c46e886..f398f2c8 100644 --- a/src/lottery/schedules/dailyQuiz.ts +++ b/src/lottery/schedules/dailyQuiz.ts @@ -4,23 +4,23 @@ import { completeAnswerCorrectlyQuest } from "../modules/contracts"; const determineQuizResult = async () => { try { - const yesterdayMidnight = new Date(); - yesterdayMidnight.setHours(0, 0, 0, 0); - yesterdayMidnight.setDate(yesterdayMidnight.getDate() + 1); + const tomorrowMidnight = new Date(); + tomorrowMidnight.setHours(0, 0, 0, 0); + tomorrowMidnight.setDate(tomorrowMidnight.getDate() + 1); const todayMidnight = new Date(); todayMidnight.setHours(0, 0, 0, 0); - // 어제의 퀴즈 조회 + // 오늘의 퀴즈 조회 const quiz = await quizModel.findOne({ quizDate: { - $lt: yesterdayMidnight, $gte: todayMidnight, + $lt: tomorrowMidnight, }, }); if (!quiz) { - logger.info("No quiz found for yesterday."); + logger.info("No quiz found for today."); return; } diff --git a/src/lottery/schedules/index.js b/src/lottery/schedules/index.js index 62b86168..686bb1c9 100644 --- a/src/lottery/schedules/index.js +++ b/src/lottery/schedules/index.js @@ -2,7 +2,7 @@ const cron = require("node-cron"); const registerSchedules = () => { cron.schedule("0 4 * * *", require("./detectAbusingUsers")); - cron.schedule("5 0 * * *", require("./dailyQuiz").default); + cron.schedule("56 23 * * *", require("./dailyQuiz").default); }; module.exports = registerSchedules; diff --git a/src/lottery/services/quizzes.ts b/src/lottery/services/quizzes.ts index fc73101d..06556379 100644 --- a/src/lottery/services/quizzes.ts +++ b/src/lottery/services/quizzes.ts @@ -223,6 +223,14 @@ export const submitAnswerHandler: RequestHandler = async (req, res) => { const userId = req.userOid; const { answer } = req.body; + // 11시 55분 이전인지 검사하기 + const timestamp = new Date(); + const settingtime = new Date(); + settingtime.setHours(23, 55, 0, 0); + if (timestamp > settingtime) { + return res.status(404).json({ message: "You can't submit answer now." }); + } + const startOfToday = new Date(); startOfToday.setHours(0, 0, 0, 0); @@ -288,6 +296,14 @@ export const cancelAnswerHandler: RequestHandler = async (req, res) => { // 로그인된 사용자 정보 가져오기 const userId = req.userOid; + // 11시 55분 이전인지 검사하기 + const timestamp = new Date(); + const settingtime = new Date(); + settingtime.setHours(23, 55, 0, 0); + if (timestamp > settingtime) { + return res.status(404).json({ message: "You can't submit answer now." }); + } + const startOfToday = new Date(); startOfToday.setHours(0, 0, 0, 0);