diff --git a/src/main/java/dongguk/osori/domain/quest/service/QuestService.java b/src/main/java/dongguk/osori/domain/quest/service/QuestService.java index 1a56cd0..3b9bb65 100644 --- a/src/main/java/dongguk/osori/domain/quest/service/QuestService.java +++ b/src/main/java/dongguk/osori/domain/quest/service/QuestService.java @@ -30,7 +30,7 @@ public void completeMission(Long userId, LocalDate date) { // 모든 미션이 완료되었는지 확인 if (!quest.isAllMissionsCompleted()) { - throw new IllegalStateException("모든 미션이 완료되지 않았습니다."); + return; // 미션이 완료되지 않았으면 아무 동작도 하지 않음 } // 스탬프 증가 @@ -47,6 +47,14 @@ private void incrementStamp(Long userId, LocalDate date) { Stamp stamp = stampRepository.findByUser_UserIdAndWeekNumberAndYear(userId, weekNumber, year) .orElseGet(() -> new Stamp(user, weekNumber, year)); + // 오늘 날짜에 해당하는 스탬프가 이미 채워졌는지 확인 + int todayDayOfWeek = date.getDayOfWeek().getValue(); // 월요일(1) ~ 일요일(7) + if (stamp.getCount() >= todayDayOfWeek) { + // 이미 채워져 있는 경우 메서드 종료 + return; + } + + // 스탬프를 증가시킴 stamp.incrementStamp(); stampRepository.save(stamp); } diff --git a/src/main/java/dongguk/osori/domain/user/controller/UserController.java b/src/main/java/dongguk/osori/domain/user/controller/UserController.java index 208ba08..67858d2 100644 --- a/src/main/java/dongguk/osori/domain/user/controller/UserController.java +++ b/src/main/java/dongguk/osori/domain/user/controller/UserController.java @@ -16,7 +16,7 @@ @Slf4j @RequiredArgsConstructor -@CrossOrigin(origins = "http://localhost:3000") +@CrossOrigin(origins = "https://2024-2-oss-proj-osori-fe.vercel.app") @RestController @RequestMapping("/api/users") public class UserController {