diff --git a/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/api/project/service/Impl/ProjectServiceImpl.java b/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/api/project/service/Impl/ProjectServiceImpl.java index 9a70936..038dcdf 100644 --- a/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/api/project/service/Impl/ProjectServiceImpl.java +++ b/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/api/project/service/Impl/ProjectServiceImpl.java @@ -53,6 +53,11 @@ public ProjectVerifyResponseDto verifyProjectCode(String invitationCode) { @Transactional public List getProjectAll(Long memberId) { List userProjects = userProjectRepository.findAllByMemberIdOrderByCreatedAtDesc(memberId); + + if (userProjects.isEmpty()) { + throw new NotFoundException(ErrorStatus.NOT_FOUND_USER_PROJECT.getMessage()); + } + return userProjects.stream() .flatMap(userProject -> projectRepository.findAllById(userProject.getProject().getId()).stream()) .map(project -> ProjectResponseDto.of(project)) @@ -70,6 +75,10 @@ public ProjectOwnPuzzleResponseDto getMyPuzzles(Long memberId, Long projectId, S Page pageReviews = reviewRepository.findTop15ByMemberIdAndProjectId(memberId, projectId, pageable); List top15Reviews = pageReviews.getContent(); + if (top15Reviews.isEmpty()) { + throw new NotFoundException(ErrorStatus.NOT_FOUND_USER_PROJECT.getMessage()); + } + Boolean isReviewDay = checkTodayIsReviewDay(today, findProjectById(projectId).getReviewCycle()); Boolean hasTodayReview = reviewRepository.existsReviewByReviewDate(today); @@ -223,7 +232,7 @@ private String getReviewMemberPercent(Long projectId, int reviewCount) { private Member findMemberById(Long memberId) { return memberRepository.findById(memberId) - .orElseThrow(() -> new BadRequestException(ErrorStatus.INVALID_MEMBER.getMessage())); + .orElseThrow(() -> new NotFoundException(ErrorStatus.NOT_FOUND_MEMBER.getMessage())); } private Project findProjectById(Long projectId) { diff --git a/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/common/response/ErrorStatus.java b/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/common/response/ErrorStatus.java index 5c0c16a..182f0cb 100644 --- a/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/common/response/ErrorStatus.java +++ b/puzzlingServer/src/main/java/com/puzzling/puzzlingServer/common/response/ErrorStatus.java @@ -15,6 +15,7 @@ public enum ErrorStatus { VALIDATION_REQUEST_MISSING_EXCEPTION("요청값이 입력되지 않았습니다."), VALIDATION_NAMING_EXCEPTION("이모지 및 특수기호 입력은 불가능합니다. 제외하여 입력해 주세요."), NO_TOKEN("토큰을 넣어주세요."), + INVALID_MEMBER("유효하지 않은 유저입니다."), ANOTHER_ACCESS_TOKEN("지원하지 않는 소셜 플랫폼입니다."), VALIDATION_PATH_MISSING_EXCEPTION("요청하는 path에 넘겨주는 variable이 입력되지 않았습니다."), @@ -22,7 +23,6 @@ public enum ErrorStatus { * 401 UNAUTHORIZED */ UNAUTHORIZED_TOKEN("유효하지 않은 토큰입니다."), - INVALID_MEMBER("유효하지 않은 유저입니다."), KAKAO_UNAUTHORIZED_USER("카카오 로그인 실패. 만료되었거나 잘못된 카카오 토큰입니다."), SIGNIN_REQUIRED("access, refreshToken 모두 만료되었습니다. 재로그인이 필요합니다."), VALID_ACCESS_TOKEN("아직 유효한 accessToken 입니다."), @@ -32,6 +32,8 @@ public enum ErrorStatus { */ NOT_FOUND_PROJECT_CODE("유효하지 않은 초대코드에요. 코드를 확인해 주세요."), NOT_FOUND_PROJECT("해당하는 프로젝트가 없습니다"), + NOT_FOUND_MEMBER("해당하는 유저가 없습니다."), + NOT_FOUND_USER_PROJECT("해당하는 멤버가 참여하는 프로젝트가 아닙니다."), /**