Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pr feat: 우리동네(함께해요, 소통해요) CRUD api 구현 #35

Merged
merged 35 commits into from
Feb 5, 2024

Conversation

why-only-english
Copy link
Contributor

@why-only-english why-only-english commented Feb 2, 2024

Issue number and Link

Summary

  • question 게시판 참고하여 진행했습니다.

공통 댓글 구현, 공통 신고 구현
질문해요 게시글 작성, 게시글 단건 조회, 댓글 생성, 댓글 수정, 댓글 삭제(soft delete, Report 때문)

PR Type

  • Feature
  • Bugfix
  • Refactoring
  • Documentation
  • Other

Other Information

'함께해요'와 '소통해요' 게시판의 겹치는 메인 기능들은 구현을 한 상태입니다.
'함께해요'의 추가 기능들은 이어서 진행하겠습니다.

Todo

  • 총 가격, 거래장소, 상품 관련 링크, 채팅 링크, 참여인원

Common Type

- feat : 새로운 기능 구현
- add : feat 이외의 부수적인 코드, 파일, 라이브러리 추가
- chore : 패키지 구조, 함수 및 변수명 변경 등의 작은 작업
- fix : 버그 및 오류 해결
- del : 불필요한 코드, 파일, 주석 삭제
- docs : 명세서 작성
- refactor : 코드 리팩토링
- merge : 서로 다른 브랜치 간의 코드 병합
- setting : 프로젝트 기초 세팅 관련 작업

branch

Feature/{이슈 번호 x, feat 순서}-{작업 내용}

ex)
Feature/3-home-api
Feature/4-home-crud

ImageResponse => CartImageResponse / ImageResponse => CommunityImageResponse
ImageRepository => CartImageRepository / ImageRepository => CommunityImageRepository
@why-only-english why-only-english added the ✨ Feature 새로운 기능 추가 label Feb 2, 2024
@why-only-english why-only-english self-assigned this Feb 2, 2024
@why-only-english why-only-english linked an issue Feb 2, 2024 that may be closed by this pull request
5 tasks
CartPostController, CommunityPostController
총가격, 상품관련링크, 채팅링크, 참여인원, 거래희망장소
Copy link
Member

@toychip toychip left a comment

Choose a reason for hiding this comment

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

종근님 수고하셨습니다~ 리팩토링 관련으로 의견 남겨놨습니다.
저랑 코드가 많이 똑같아서 제꺼랑 헷갈리네요 ㅋㅋㅋㅋ 화이팅입니다!

.title(request.getTitle())
.build();
}

Copy link
Member

Choose a reason for hiding this comment

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

Cart에서 비활성화하는 로직을 @OverRide하면 좋을 것 같습니다.
지금 상속받은 BaseEntity에 있는 비활성화(sofr delete)를 진행하면 CartImage, CartComment는 비활성화가 진행되지 않기 때문입니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

forEach 사용하여 Cart와 연관된 엔티티들 비활성화하도록 코드 수정했어요~ 좋은 피드백 감사합니다!

@Override
    public void deactivate() {
        super.deactivate();  // BaseEntity에 정의되어 있는 메소드
        this.cartImages.forEach(CartImage::deactivate);
        this.reports.forEach(Report::deactivate);
        this.cartComments.forEach(CartComment::deactivate);
        this.itemUrls.forEach(ItemUrl::deactivate);
    }

/* -------------------------------------------- Soft Delete -------------------------------------------- */
public void delete(final Long postId) {
Cart cart = findCart(postId);
cart.deactivate(); // 비활성화
Copy link
Member

Choose a reason for hiding this comment

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

이부분 말씀드린겁니다!
Service에 있는 로직은 그대로 두되, cart에서 deactivate() 메서드를 오버라이드해서 Cart와 연관되어있는 Image, Comment등 같이 비활성화하면 좋을 것 같네요


@Service
@RequiredArgsConstructor
public class CartPostService {
Copy link
Member

@toychip toychip Feb 4, 2024

Choose a reason for hiding this comment

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

지금 카테고리별 조회, 단건 조회는 로직을 안만드신걸까요~?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

우리동네는 카테고리가 없어서 메인 페이지에서 '함께해요', '소통해요' 별로 조회 가능하게 만들겠습니다! 단건 조회 로직도 놓쳤었네요 ㅠ 추가할게요 !!

@why-only-english why-only-english merged commit a375f8a into develop Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 새로운 기능 추가 🔀 PullRequest Branch 합병 문종근
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: 우리동네 기능 구현
2 participants