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

프로젝트 기술 스택 및 멤버 카테고리 별로 조회되도록 응답 객체 수정 #235

Merged
merged 19 commits into from
Mar 21, 2024

Conversation

yenzip
Copy link
Contributor

@yenzip yenzip commented Mar 21, 2024

🎫 관련 이슈

Resolves #230

✅ 구현 내용

  • UserSummary 회원 및 비회원 정적 팩터리 메서드 통일
  • MemberSummary, ProjectSkillSummary 카테고리(역할) 별로 묶어서 반환하도록 응답 dto 수정
  • MemberService, ProjectSkillService에서 findAllByProject로 가져와 Map을 사용해 각각의 Summary로 맵핑하는 메서드 추가 및 findAll과 cleanAndSaveAll에서 사용
    • 더이상 사용하지 않는 MemberRepository의 findAllWithUser 제거
  • Project 상세 조회(findById)에서 기술 스택과 멤버 조회하는 부분 수정
  • 관련된 테스트 코드 수정
    • 기존의 techStacks와 members 리스트의 크기를 hasSize()로 비교하는 대신에, 카테고리(역할) 별 개수를 구하는 메서드를 사용하여 비교하도록 수정

💬 코멘트

기존 코드와 변경된 부분이 조금 많이 있습니다..! 혹시 확인하시고 궁금하신 점이 있다면 편하게 알려주세요!

@yenzip yenzip added 🛠 리팩토링했슈 리팩토링 ✅ 테스트혀봤슈 빌드&테스트가 필요할 때 태그 labels Mar 21, 2024
@yenzip yenzip added this to the 3차 스프린트 milestone Mar 21, 2024
@yenzip yenzip self-assigned this Mar 21, 2024
@yenzip yenzip linked an issue Mar 21, 2024 that may be closed by this pull request
1 task
Copy link

📝 Jacoco Test Coverage

Overall Project 67.23%
Files changed 100% 🍏

File Coverage
MemberService.java 100% 🍏
ProjectSkillService.java 100% 🍏
MemberSummary.java 100% 🍏
ProjectSkillSummary.java 100% 🍏
ProjectService.java 94.99% 🍏
UserSummary.java 85.19% 🍏

@yenzip yenzip merged commit c82866e into dev Mar 21, 2024
2 checks passed
@Sehee-Lee-01 Sehee-Lee-01 deleted the refactor/#230-read-projects-by-category branch March 21, 2024 23:57
Copy link
Member

@Sehee-Lee-01 Sehee-Lee-01 left a comment

Choose a reason for hiding this comment

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

아침에 봤는데 리뷰를 좀 늦게했습니다ㅠㅠㅠ 생성 수정 부분에도 반영해주셔서 너무너무 감사합니다!!!ㅠㅠ

Comment on lines +70 to +80

private List<MemberSummary> generateMemberSummaries(List<Member> members) {
Map<String, List<UserSummary>> memberMap = members.stream()
.collect(groupingBy(Member::getRole,
mapping(member -> UserSummary.of(member.getUser(), member.getNickname()),
toList())));

return memberMap.entrySet().stream()
.map(entry -> MemberSummary.of(entry.getKey(), entry.getValue()))
.toList();
}
Copy link
Member

Choose a reason for hiding this comment

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

👍 감사합니다ㅠㅠ 새로 배워가네요ㅠㅠ

Comment on lines +48 to +51
// 멤버(회원, 비회원)
public static UserSummary of(User user, String nickname) {
Long userId = Objects.isNull(user) ? null : user.getId();
String profileImageUrl = Objects.isNull(user) ? BLANK_STRING : user.getProfileImageUrl();
Copy link
Member

Choose a reason for hiding this comment

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

코드 중복 줄여주셔서 감사합니다ㅠㅠ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✅ 테스트혀봤슈 빌드&테스트가 필요할 때 태그 🛠 리팩토링했슈 리팩토링
Projects
None yet
Development

Successfully merging this pull request may close these issues.

멤버는 역할로 묶여서, 기술 스택은 카테코리고 묶어서 보내기
2 participants