diff --git a/src/main/java/com/moongeul/backend/api/book/dto/ReviewItemDTO.java b/src/main/java/com/moongeul/backend/api/book/dto/ReviewItemDTO.java index 571f8cd..31f9e29 100644 --- a/src/main/java/com/moongeul/backend/api/book/dto/ReviewItemDTO.java +++ b/src/main/java/com/moongeul/backend/api/book/dto/ReviewItemDTO.java @@ -17,6 +17,7 @@ @AllArgsConstructor public class ReviewItemDTO { private Long postId; // 게시글 ID + private Long memberId; // 사용자 ID private String nickname; // 사용자 닉네임 private ReadingTasteType readingTasteType; // 독서 취향 private String profileImage; // 사용자 프로필 이미지 diff --git a/src/main/java/com/moongeul/backend/api/book/service/ReviewService.java b/src/main/java/com/moongeul/backend/api/book/service/ReviewService.java index ce9cc0d..410a589 100644 --- a/src/main/java/com/moongeul/backend/api/book/service/ReviewService.java +++ b/src/main/java/com/moongeul/backend/api/book/service/ReviewService.java @@ -77,6 +77,7 @@ private ReviewItemDTO convertToReviewItemDTO(Post post) { return ReviewItemDTO.builder() .postId(post.getId()) + .memberId(post.getMember().getId()) .nickname(post.getMember().getNickname()) .readingTasteType(post.getMember().getReadingTasteType()) .profileImage(post.getMember().getProfileImage()) diff --git a/src/main/java/com/moongeul/backend/api/bookshelf/repository/DoneReadBookshelfRepository.java b/src/main/java/com/moongeul/backend/api/bookshelf/repository/DoneReadBookshelfRepository.java index 16ce8ec..91fa8f7 100644 --- a/src/main/java/com/moongeul/backend/api/bookshelf/repository/DoneReadBookshelfRepository.java +++ b/src/main/java/com/moongeul/backend/api/bookshelf/repository/DoneReadBookshelfRepository.java @@ -3,6 +3,7 @@ import com.moongeul.backend.api.book.entity.Book; import com.moongeul.backend.api.bookshelf.entity.DoneReadBookshelf; import com.moongeul.backend.api.member.entity.Member; +import com.moongeul.backend.api.post.entity.Post; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; @@ -25,4 +26,7 @@ public interface DoneReadBookshelfRepository extends JpaRepository new NotFoundException(ErrorStatus.STORY_NOTFOUND_EXCEPTION.getMessage())); // 예외처리: 수정하는 사람과 게시글 주인이 같은지 확인 (본인의 게시글인지) if (!post.getMember().getEmail().equals(email)) { @@ -347,6 +352,12 @@ public void deletePost(Long postId, String email){ // 인상깊은구절 일괄 삭제 quoteRepository.deleteAllByPostId(postId); + // 연동된 Story 삭제 + storyRepository.delete(story); + + // 읽은 책장 데이터 삭제 + doneReadBookshelfRepository.deleteByArticle(post); + // 게시글 삭제 postRepository.delete(post); diff --git a/src/main/java/com/moongeul/backend/api/story/repository/StoryRepository.java b/src/main/java/com/moongeul/backend/api/story/repository/StoryRepository.java index 82aa078..a745bdf 100644 --- a/src/main/java/com/moongeul/backend/api/story/repository/StoryRepository.java +++ b/src/main/java/com/moongeul/backend/api/story/repository/StoryRepository.java @@ -8,6 +8,7 @@ import org.springframework.data.repository.query.Param; import java.time.LocalDateTime; +import java.util.Optional; public interface StoryRepository extends JpaRepository { @@ -47,4 +48,7 @@ Page findAllFollowerStories( "WHERE s.member.email = :email " + "ORDER BY s.createdAt DESC") Page findAllMyStories(@Param("email") String email, Pageable pageable); + + // postId로 스토리 조회 + Optional findByPostId(Long postId); }