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

[BE] refactor: 서비스 리팩터링 #540

Merged
merged 45 commits into from
Sep 7, 2024
Merged
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
1e6204b
feat: 리뷰를 검증하는 서비스 구현
Kimprodp Aug 28, 2024
d62a842
refactor: 리뷰 등록 서비스가 리뷰를 생성하고 검증 서비스를 통해서 검증하도록 변경
Kimprodp Aug 28, 2024
de03539
refactor: 답변 검증 서비스가 요청이 아닌 객체를 검증하도록 변경
Kimprodp Aug 28, 2024
2fc94e1
feat: 리뷰에서 제공하는 기능 추가
Kimprodp Aug 28, 2024
7561c72
refactor: dto명 변경 및 사용하지 않는 메서드 삭제
Kimprodp Aug 28, 2024
d3842d2
refactor: 예외명 및 메세지 변경
Kimprodp Aug 28, 2024
3cfe514
refactor: 리뷰 목록 조회 서비스명 변경 및 응답 객체 mapper를 활용하도록 변경
Kimprodp Aug 28, 2024
daecbdc
feat: 리뷰 목록 응답 객체 매핑 서비스 추가
Kimprodp Aug 28, 2024
9cc53a9
refactor: dto명 변경으로 인한 수정
Kimprodp Aug 28, 2024
b60807f
refactor: ReviewMapper를 통해 리뷰를 생성하도록 변경
Kimprodp Aug 28, 2024
ebc281c
refactor: 리뷰 상세 응답 mapper를 활용하도록 변경 및 일부 로직 리팩터링
Kimprodp Aug 28, 2024
e42293c
refactor: 템플릿을 찾는 로직을 mapper에서 하도록 변경
Kimprodp Aug 28, 2024
357e9ef
refactor: 리팩터링에 따른 컨트롤러 변경사항
Kimprodp Aug 28, 2024
bb153e5
Merge remote-tracking branch 'refs/remotes/origin/develop' into be/re…
Kimprodp Aug 28, 2024
646d8b7
test: 변경사항 반영
Kimprodp Aug 28, 2024
20d6ffc
refactor: 질문이 없는 섹션은 응답 생성하지 않도록 변경
Kimprodp Aug 29, 2024
bd4b455
refactor: 답변이 null인 경우에 대한 예외 추가
Kimprodp Aug 29, 2024
fd2f730
refactor: CheckBoxAnswerValidator null 검증 제외 및 질문 유효 검증 추가
Kimprodp Aug 29, 2024
14e1819
refactor: TextAnswerValidator 질문 유효 검증 추가
Kimprodp Aug 29, 2024
76a01c7
test: Validator 테스트 작성
Kimprodp Aug 29, 2024
08e5707
test: Mapper 테스트 작성
Kimprodp Aug 29, 2024
7e15fa3
test: ReviewValidator 테스트 작성
Kimprodp Aug 29, 2024
8726e0c
test: ReviewRegisterService 테스트 간소화
Kimprodp Aug 29, 2024
cfe4fd9
test: 리팩터링 사항 반영
Kimprodp Aug 29, 2024
c351eb2
test: Review 테스트 작성
Kimprodp Aug 29, 2024
4ff1bb4
chore: secret 변경사항 반영
Kimprodp Aug 29, 2024
f494164
refactor: 답변 생성 시, null 이 들어올 수 없도록 변경
Kimprodp Sep 4, 2024
b0e20bc
refactor: ReviewMapper 에서 답변에 대한 검증 없이 엔티티 매핑만 하도록 변경
Kimprodp Sep 4, 2024
0d63f18
refactor: ReviewValidator 에서 답변에 대한 검증도 진행하도록 변경
Kimprodp Sep 4, 2024
d93f943
refactor: 메서드명 변경 (getAllQuestionIdsFromAnswers -> getAnsweredQuestio…
Kimprodp Sep 4, 2024
6363b82
refactor: @Transactional 어노테이션을 클래스 범위에만 적용하도록 변경
Kimprodp Sep 4, 2024
0062fb4
refactor: 메서드 분리 변경
Kimprodp Sep 4, 2024
1359b10
refactor: 메서드 시그니쳐 변경
Kimprodp Sep 4, 2024
8caa2b0
style : 개행 수정
Kimprodp Sep 4, 2024
b90aa47
refactor: 존재하는 메서드 활용하도록 변경
Kimprodp Sep 4, 2024
1f18e77
refactor: 리뷰에 특적 질문에 대한 답변이 있는지 확인하는 기능 추가
Kimprodp Sep 4, 2024
0071013
style: 개행 수정
Kimprodp Sep 4, 2024
7022bcb
refactor: 객체 메서드를 활용하도록 변경
Kimprodp Sep 5, 2024
c280809
test: AnswerMapperTest 작성
Kimprodp Sep 5, 2024
d9b4519
refactor: 답변 검증 시, 답변이 빈 경우에 대한 검증도 객체 생성자에서 진행 및 QuestionNotAnswered…
Kimprodp Sep 7, 2024
caa0716
refactor: 메서드명 변경 (hasQuestions -> hasAnsweredQuestion)
Kimprodp Sep 7, 2024
eca9491
style: 개행 변경
Kimprodp Sep 7, 2024
591f8cb
refactor: ReviewValidator 파라미터를 나눠보 보낼 수 있는 부분 적용
Kimprodp Sep 7, 2024
d3a615c
Merge remote-tracking branch 'refs/remotes/origin/develop' into be/re…
Kimprodp Sep 7, 2024
610b785
test: develop 브랜치 머치 후, 미변경 사항 적용
Kimprodp Sep 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. detail, listLookUp과 같은 조회를 위한 응답 객체 생성에 mapper 방식 좋네요!👍👍
    응답 객체를 생성한다는 책임이 분리되어 서비스는 좀 더 흐름적인 부분에 집중, mapper 객체는 repo와 교류하며 응답생성. 이렇게 응집도가 올라가네요!
  2. 다만 리뷰 생성 과정에서 review 객체 생성에 mapper를 사용하는 부분은 고민이 돼요. 아래에 남긴 textAnswer 코멘트와 연관되어있습니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍👍👍👌

Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public ReviewDetailResponse mapToReviewDetailResponse(Review review, ReviewGroup
List<Section> sections = sectionRepository.findAllByTemplateId(templateId);
List<SectionAnswerResponse> sectionResponses = sections.stream()
.map(section -> mapToSectionResponse(review, reviewGroup, section))
.filter(sectionResponse -> !sectionResponse.questions().isEmpty())
Copy link
Contributor

Choose a reason for hiding this comment

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

Dto라도 이런 질문은 던져도 괜찮다고 생각해요~!~!

Copy link
Contributor

Choose a reason for hiding this comment

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

만들어진 sectionResponse의 질문들이 없는 경우를 거르고 있는데 이 부분은 왜 필요한 건지 궁금해요!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@donghoony 반영 완료👍
@skylar1220 질문이 있는 섹션만 보여주기 위함입니다

.toList();

return new ReviewDetailResponse(
Expand Down