Skip to content

Comments

Main#106

Merged
jiminnimij merged 5 commits intodevelopfrom
main
Jan 24, 2026
Merged

Main#106
jiminnimij merged 5 commits intodevelopfrom
main

Conversation

@jiminnimij
Copy link
Member

#️⃣ 연관된 이슈

관련된 이슈 번호를 적어주세요. 예: #이슈번호

#️⃣ 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요. (이미지 첨부 가능)

#️⃣ 테스트 결과

코드 변경에 대해 테스트를 수행한 결과를 요약해주세요. 예: 모든 테스트 통과 여부, 새로 작성한 테스트 케이스 등

#️⃣ 변경 사항 체크리스트

  • 코드에 영향이 있는 모든 부분에 대한 테스트를 작성하고 실행했나요?
  • 문서를 작성하거나 수정했나요? (필요한 경우)
  • 코드 컨벤션에 따라 코드를 작성했나요?
  • 본 PR에서 발생할 수 있는 모든 의존성 문제가 해결되었나요?

#️⃣ 스크린샷 (선택)

관련된 스크린샷이 있다면 여기에 첨부해주세요.

#️⃣ 리뷰 요구사항 (선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요.
예시: 이 부분의 코드가 잘 작동하는지 테스트해 주실 수 있나요?

📎 참고 자료 (선택)

관련 문서, 스크린샷, 또는 예시 등이 있다면 여기에 첨부해주세요

@jiminnimij jiminnimij merged commit 6bcf5ba into develop Jan 24, 2026
1 check passed
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jiminnimij, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 전시회 상세 정보 및 게시글(리뷰, 미리보기) 조회 로직을 개선하고, 관련 DTO에 추가 정보를 포함하도록 업데이트합니다. 특히, 삭제된 게시글 중 답변이 있는 경우에도 조회될 수 있도록 쿼리 로직을 변경하여 데이터 표시 유연성을 높였습니다. 또한, ReviewController에서 PreviewService를 도입하여 게시글 조회 로직을 일반화하고 재사용성을 향상시켰습니다.

Highlights

  • 전시회 상세 응답 DTO 개선: ExhibitionDetailResponse에 전시회 카테고리 정보가 추가되었습니다.
  • 리뷰 컨트롤러 리팩토링: ReviewController에서 전시회 리뷰 조회 로직이 PreviewService를 사용하도록 변경되어, 게시글 조회 로직의 일반화 및 재사용성이 향상되었습니다.
  • 게시글 삭제 상태 필드 추가: ExhibitionPreview 및 ExhibitionReview DTO에 게시글의 삭제 여부를 나타내는 isDeleted 필드가 추가되었습니다.
  • 게시글 카드 DTO 개선: PostCard DTO에 해당 게시글이 속한 전시회의 ID(exhibitionId) 필드가 추가되었습니다.
  • 게시글 조회 쿼리 로직 변경: PostRepository의 findByExhibitionAndPostType 쿼리가 수정되어, 삭제된 게시글이라도 답변(hasAnswer)이 있는 경우에는 조회 결과에 포함되도록 변경되었습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 전시 상세 정보에 카테고리를 추가하고, 삭제된 게시글 처리 로직을 개선하며, 게시글 조회 로직을 리팩터링하는 변경 사항을 포함하고 있습니다. 전반적으로 코드 재사용성을 높이려는 시도는 좋았으나, 리팩터링 과정에서 리뷰 목록 조회 API의 응답 형식이 의도치 않게 변경되는 심각한 버그가 발생했습니다. 또한, ExhibitionReview DTO에 새로운 필드를 추가하면서 초기화 로직이 누락된 부분이 있습니다. 자세한 내용은 각 파일의 리뷰 코멘트를 참고해 주세요.

int limit
) {
return reviewService.getExhibitionReviews(memberId, exhibitionId, pageNum, limit);
return previewService.getExhibitionPreviews(memberId, exhibitionId, PostType.REVIEW, pageNum, limit);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

이 변경으로 인해 리뷰 목록 조회 API가 잘못된 데이터 형식(ExhibitionPreview)을 반환하게 됩니다. previewService.getExhibitionPreviews 메서드는 ExhibitionPreview DTO를 생성하도록 구현되어 있어, 리뷰에 포함되어야 할 이미지 정보(images, imageCount)가 누락되고, 불필요한 답변 관련 필드(answer, hasAnswer 등)가 포함됩니다.
리뷰 목록은 ExhibitionReview DTO를 사용해야 합니다. PreviewService 내에 postType에 따라 적절한 DTO를 생성하도록 분기 로직을 추가하거나, 리뷰 목록 조회 로직을 ReviewService에 그대로 두는 것을 고려해 보세요. 이 변경은 API 스펙을 깨뜨리는 심각한 버그입니다.

private List<String> images;
private int imageCount;
@JsonProperty("isDeleted")
private boolean isDeleted;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

isDeleted 필드가 추가되었지만, of 정적 팩토리 메서드에서 post 객체의 isDeleted 상태를 반영하여 초기화하는 로직이 누락되었습니다. 이로 인해 API 응답에서 항상 isDeletedfalse로 반환될 수 있습니다. ExhibitionPreview.of() 메서드 구현을 참고하여 isDeleted(post.isDeleted())를 빌더에 추가해 주세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant