From 80002625fe49d24c389c47578cf4df50a372f3b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=84=9D?= Date: Tue, 20 Aug 2024 03:33:57 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat=20:=20debate=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=ED=88=AC=ED=91=9C=EA=B0=80=20=EC=97=86=EB=8A=94=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20null=20exception=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itpick/backend/service/DebateService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/store/itpick/backend/service/DebateService.java b/src/main/java/store/itpick/backend/service/DebateService.java index 75f4c97..e4f5481 100644 --- a/src/main/java/store/itpick/backend/service/DebateService.java +++ b/src/main/java/store/itpick/backend/service/DebateService.java @@ -161,13 +161,15 @@ public GetDebateResponse getDebate(Long debateId, long userId) { boolean userVoted = false; String userVoteOptionText = null; - for (VoteOption voteOption : debate.getVote().getVoteOptions()) { - List userVoteChoices = userVoteChoiceRepository.findByVoteOptionAndUser(voteOption, user); - if (!userVoteChoices.isEmpty()) { - userVoted = true; - // 여러 선택지 중 첫 번째 선택된 옵션의 텍스트를 가져옴 (필요에 따라 조정 가능) - userVoteOptionText = userVoteChoices.get(0).getVoteOption().getOptionText(); - break; + // 투표가 존재할 경우, 사용자의 투표 여부 확인 + if (debate.getVote() != null) { + for (VoteOption voteOption : debate.getVote().getVoteOptions()) { + List userVoteChoices = userVoteChoiceRepository.findByVoteOptionAndUser(voteOption, user); + if (!userVoteChoices.isEmpty()) { + userVoted = true; + userVoteOptionText = userVoteChoices.get(0).getVoteOption().getOptionText(); + break; + } } } @@ -200,7 +202,7 @@ public GetDebateResponse getDebate(Long debateId, long userId) { return GetDebateResponse.builder() .debateId(debate.getDebateId()) .debateImgUrl(debate.getImageUrl()) - .multipleChoice(debate.getVote().isMultipleChoice()) + .multipleChoice(debate.getVote() != null && debate.getVote().isMultipleChoice()) // Vote가 있을 경우만 처리 .title(debate.getTitle()) .content(debate.getContent()) .hits(debate.getHits()) From a3516a97afa92f7ff5963a9cf2109d6820d34387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=84=9D?= Date: Tue, 20 Aug 2024 03:55:05 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat=20:=20=EC=88=98=EB=8F=99=20=ED=8A=B8?= =?UTF-8?q?=EB=9E=9C=EB=93=9C=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/itpick/backend/controller/TestController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/store/itpick/backend/controller/TestController.java b/src/main/java/store/itpick/backend/controller/TestController.java index 8b4f47f..85023d5 100644 --- a/src/main/java/store/itpick/backend/controller/TestController.java +++ b/src/main/java/store/itpick/backend/controller/TestController.java @@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.RestController; import store.itpick.backend.model.rank.CommunityType; import store.itpick.backend.model.rank.PeriodType; +import store.itpick.backend.service.DebateService; import store.itpick.backend.util.Redis; import java.util.*; @@ -18,6 +19,9 @@ public class TestController { @Autowired private Redis redis; + @Autowired + private DebateService debateService; + @GetMapping("/*.ico") void pathMatch() { System.out.println("favicon.ico."); @@ -40,6 +44,11 @@ public void totalTest() { redis.saveTotalRanking(PeriodType.BY_WEEK); } + @GetMapping("/trend") + public void updateHotDebate(){ + debateService.updateHotDebate(); + } + @GetMapping("/save-day-manually") public String saveDayManually() { List dateList = new ArrayList<>(Arrays.asList("240805", "240806", "240807", "240808", "240809", "240810", "240811", "240812", "240813", "240814", "240815")); From ed272bcef66bc7a99dcaeb0b1758a1fc5ad7dc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=84=9D?= Date: Tue, 20 Aug 2024 05:20:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat=20:=20=EC=88=98=EB=8F=99=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/itpick/backend/controller/TestController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/store/itpick/backend/controller/TestController.java b/src/main/java/store/itpick/backend/controller/TestController.java index 85023d5..70e65e6 100644 --- a/src/main/java/store/itpick/backend/controller/TestController.java +++ b/src/main/java/store/itpick/backend/controller/TestController.java @@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.RestController; import store.itpick.backend.model.rank.CommunityType; import store.itpick.backend.model.rank.PeriodType; +import store.itpick.backend.service.AlarmService; import store.itpick.backend.service.DebateService; import store.itpick.backend.util.Redis; @@ -22,6 +23,9 @@ public class TestController { @Autowired private DebateService debateService; + @Autowired + private AlarmService alarmService; + @GetMapping("/*.ico") void pathMatch() { System.out.println("favicon.ico."); @@ -46,7 +50,7 @@ public void totalTest() { @GetMapping("/trend") public void updateHotDebate(){ - debateService.updateHotDebate(); + alarmService.createAlarmTrend(debateService.updateHotDebate()); } @GetMapping("/save-day-manually")