diff --git a/src/main/java/UMC/career_mate/domain/content/controller/ContentController.java b/src/main/java/UMC/career_mate/domain/content/controller/ContentController.java index 5511ad2..8397711 100644 --- a/src/main/java/UMC/career_mate/domain/content/controller/ContentController.java +++ b/src/main/java/UMC/career_mate/domain/content/controller/ContentController.java @@ -109,7 +109,7 @@ public ApiResponse deleteScrapContents(@PathVariable Long contentId, @Lo @Operation( summary = "스크랩한 컨텐츠 조회 API", description = """ - 사용자가 스크랩한 컨텐츠를 조회합니다. + 사용자의 현재 직무 기준 사용자가 스크랩한 컨텐츠를 조회합니다. Query Parameters: - 'page': 페이지 번호 (기본값: 1) - 'size': 페이지 크기 (기본값: 10) diff --git a/src/main/java/UMC/career_mate/domain/contentScrap/repository/ContentScrapRepository.java b/src/main/java/UMC/career_mate/domain/contentScrap/repository/ContentScrapRepository.java index 36aebfa..188f671 100644 --- a/src/main/java/UMC/career_mate/domain/contentScrap/repository/ContentScrapRepository.java +++ b/src/main/java/UMC/career_mate/domain/contentScrap/repository/ContentScrapRepository.java @@ -20,7 +20,9 @@ public interface ContentScrapRepository extends JpaRepository findByMember(@Param("member") Member member); - //회원이 스크랩한 컨텐츠를 현재 직무 기준 같은 것 조회 - @Query("SELECT cs FROM ContentScrap cs JOIN FETCH cs.content c WHERE cs.member = :member AND c.job.id = :jobId") + @Query("SELECT cs FROM ContentScrap cs " + + "JOIN FETCH cs.content c " + + "WHERE cs.member = :member AND c.job.id = :jobId") Page findByMemberAndJobId(@Param("member") Member member, @Param("jobId") Long jobId, Pageable pageable); + } \ No newline at end of file diff --git a/src/main/java/UMC/career_mate/domain/contentScrap/service/ContentScrapService.java b/src/main/java/UMC/career_mate/domain/contentScrap/service/ContentScrapService.java index 985b070..343be50 100644 --- a/src/main/java/UMC/career_mate/domain/contentScrap/service/ContentScrapService.java +++ b/src/main/java/UMC/career_mate/domain/contentScrap/service/ContentScrapService.java @@ -53,15 +53,14 @@ public void deleteScrapContents(Long contentId, Member member) { @Transactional(readOnly = true) public PageResponseDTO> getScrapContents(Member member, int page, int size) { - // 로그인한 사용자의 직무 ID 확인 - Long jobId = member.getJob().getId(); - if (jobId == null) { + // null 체크 -> jobid가 아니라 job으로 수정 + if (member.getJob() == null) { throw new GeneralException(CommonErrorCode.NOT_FOUND_BY_JOB_ID); } + Long jobId = member.getJob().getId(); PageRequest pageRequest = PageRequest.of(page - 1, size); - // 로그인한 사용자가 스크랩한 콘텐츠 중 현재 직무 ID와 일치하는 것만 필터링 Page scraps = contentScrapRepository.findByMemberAndJobId(member, jobId, pageRequest); List contentList = scraps.stream() @@ -69,9 +68,9 @@ public PageResponseDTO> getScrapContents(Member me .toList(); return PageResponseDTO.>builder() - .page(page) - .hasNext(scraps.hasNext()) - .result(contentList) - .build(); + .page(page) + .hasNext(scraps.hasNext()) + .result(contentList) + .build(); } } \ No newline at end of file