diff --git a/src/main/java/com/onestep/server/controller/quiz/QuizController.java b/src/main/java/com/onestep/server/controller/quiz/QuizController.java index 1919297..4ad3748 100644 --- a/src/main/java/com/onestep/server/controller/quiz/QuizController.java +++ b/src/main/java/com/onestep/server/controller/quiz/QuizController.java @@ -50,4 +50,8 @@ public List checkAnswer(@PathVariable Long quiz_id){ //퀴즈 목록 확인 @GetMapping(value = "/quiz/quizList/{family_id}") public List quizList(@PathVariable String family_id){return quizService.quizList(family_id);} + + //오늘의 퀴즈 확인 + @GetMapping(value = "/quiz/todayQuiz/{family_id}") + public QuizListDTO todayQuiz(@PathVariable String family_id){return quizService.todayQuiz(family_id);} } diff --git a/src/main/java/com/onestep/server/repository/IQuizRepository.java b/src/main/java/com/onestep/server/repository/IQuizRepository.java index 29236ca..0f5fdf2 100644 --- a/src/main/java/com/onestep/server/repository/IQuizRepository.java +++ b/src/main/java/com/onestep/server/repository/IQuizRepository.java @@ -1,9 +1,7 @@ package com.onestep.server.repository; -import com.onestep.server.entity.Family; -import com.onestep.server.entity.Letter; import com.onestep.server.entity.Quiz; -import com.onestep.server.entity.QuizAnswer; + import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -20,4 +18,5 @@ public interface IQuizRepository extends JpaRepository { @Query("select q from Quiz q where q.user.family.fam_id =:family_id") List findQuizByFamily(@Param("family_id") String family_id); + } diff --git a/src/main/java/com/onestep/server/service/quiz/QuizService.java b/src/main/java/com/onestep/server/service/quiz/QuizService.java index 6d0f723..fbb59df 100644 --- a/src/main/java/com/onestep/server/service/quiz/QuizService.java +++ b/src/main/java/com/onestep/server/service/quiz/QuizService.java @@ -72,14 +72,17 @@ public Boolean canQuiz(String family_id){ Boolean canQuiz = true; Date writeDate = new Date(); LocalTime now = LocalTime.now(); - + log.info("Tset1 ={}",writeDate); if(now.getHour()<6){ Date dDate = new Date(); writeDate = new Date(dDate.getTime()+(1000*60*60*24*-1)); + log.info("Tset2 ={}",writeDate); } Optional optionalQuiz = iQuizRepository.findQuizByWriteDate(family_id,writeDate); + log.info("Tset3 ={}",optionalQuiz); // 같은 날에 퀴즈를 생성 했을 시 if(optionalQuiz.isPresent()){ + log.info("Tset4 ={}",optionalQuiz.get()); canQuiz = false; } @@ -161,4 +164,48 @@ public List quizList(String family_id){ } return quizLists; } + + //오늘의 퀴즈 확인 + public QuizListDTO todayQuiz(String family_id){ + Date writeDate = new Date(); + LocalTime now = LocalTime.now(); + + if(now.getHour()<6){ + Date dDate = new Date(); + writeDate = new Date(dDate.getTime()+(1000*60*60*24*-1)); + } + Optional optionalQuiz = iQuizRepository.findQuizByWriteDate(family_id,writeDate); + + // 같은 날에 퀴즈를 생성 했을 시 + if(optionalQuiz.isPresent()){ + Quiz q = optionalQuiz.get(); + QuizListDTO quizListDTO = new QuizListDTO(); + quizListDTO.setQuiz_id(q.getQuiz_id()); + quizListDTO.setWriter_id(q.getUser().getUser_id()); + quizListDTO.setQuiz_txt(q.getQuiz_txt()); + quizListDTO.setAnswer1(q.getAnswer1()); + quizListDTO.setAnswer2(q.getAnswer2()); + quizListDTO.setAnswer3(q.getAnswer3()); + quizListDTO.setAnswer4(q.getAnswer4()); + quizListDTO.setQuiz_ans(q.getQuiz_ans()); + quizListDTO.setWrite_date(q.getWrite_date()); + + List quizAnswers = q.getQuizAnswers(); + List quizAnswerCheck = new ArrayList<>(); + for (QuizAnswer qa : quizAnswers) { + QuizAnswerCheckDTO quizAnswerCheckDTO = new QuizAnswerCheckDTO(); + User answer = qa.getUser(); + quizAnswerCheckDTO.setQuizAnswer_id(qa.getQuizAnswer_id()); + quizAnswerCheckDTO.setUser_id(answer.getUser_id()); + quizAnswerCheckDTO.setQuiz_ans(qa.getQuiz_ans()); + quizAnswerCheckDTO.setQuiz_state(qa.getQuiz_state()); + + quizAnswerCheck.add(quizAnswerCheckDTO); + } + quizListDTO.setQuizAnswers(quizAnswerCheck); + return quizListDTO; + }else{ + return null; + } + } }