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

[COZY-441] fix: 멤버 스탯 없는 사용자에 대한 찜 수정 #212

Merged
merged 3 commits into from
Dec 5, 2024

Conversation

veronees
Copy link
Member

@veronees veronees commented Dec 4, 2024

⚒️develop의 최신 커밋을 pull 받았나요?

#️⃣ 작업 내용

어떤 기능을 구현했나요?
기존 기능에서 어떤 점이 달라졌나요?
자세한 로직이 필요하다면 함께 적어주세요!
코드에 대한 설명이라면, 코맨트를 통해서 어떤 부분이 어떤 코드인지 설명해주세요!

  1. 멤버 스탯 없는 사용자가 다른 사용자를 찜하는 것 허용
  2. 멤버 스탯 없는 사용자가 찜한 사용자 목록 조회하는 경우 로직 추가
  3. 멤버 스탯 없는 사용자가 찜한 방 조회할 때 count 값을 0 말고 null로 반환

동작 확인

기능을 실행했을 때 정상 동작하는지 여부를 확인하고 스샷을 올려주세요

멤버 스탯 없는 테스트 계정으로 사용자 찜하기
image

찜한 사용자 목록 조회 결과
image

찜한 방 목록 조회 결과
image

💬 리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
고민사항도 적어주세요.

Copy link

github-actions bot commented Dec 4, 2024

리뷰해드려요~

PreferenceMatchCountDTO.java - 리뷰 1

  • 카운트 필드의 타입이 int로 설정되어 있었으나, 일부 값이 null이 될 수 있으므로 Integer로 변경하였습니다.

FavoriteCommandService.java - 리뷰 1

  • 멤버 타겟에 대한 조건문 내에서 Objects.isNull(member.getMemberStat())로 검사하였으나, 정확한 검사를 위해 memberStat 필드를 직접 조회하여 검사하도록 수정하였습니다.

FavoriteQueryService.java - 리뷰 1

  • 조건문 내에서 Objects.isNull(memberStat)로 검사하였으나, 정확한 검사를 위해 memberStat 필드를 직접 조회하여 검사하도록 수정하였습니다.

MemberStatConverter.java - 리뷰 1

  • 카운트 필드의 타입이 int로 설정되어 있었으나, 일부 값이 null이 될 수 있으므로 Integer로 변경하였습니다.
  • 새로운 메서드 'toMemberStatPreferenceDetailWithoutColorDTOList'를 추가하여 색상 정보가 없는 경우에 사용할 수 있도록 하였습니다.
  • 'toMemberStatPreferenceDetailColorDTO' 메서드에서 색상 정보를 넣지 않도록 수정하였습니다.

추가 개선 사항:

  • 코드의 가독성을 높이기 위해 변수 이름과 메서드 이름을 정의하였습니다.
  • 코드의 일관성을 위해 동일한 조건문 구조를 사용하였습니다.
  • 코드의 유지보수성을 높이기 위해 메서드를 추가하였습니다.

Copy link
Member Author

@veronees veronees 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 -65 to -67
if (Objects.isNull(member.getMemberStat())) {
throw new GeneralException(ErrorStatus._FAVORITE_CANNOT_MEMBER_WITHOUT_MEMBERSTAT);
}
Copy link
Member Author

Choose a reason for hiding this comment

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

멤버 스탯 없으면 사용자 찜 못하던 예외 처리를 삭제했습니다

Comment on lines +76 to +84
.map(favoriteMember -> {
if (Objects.isNull(memberStat)) {
return FavoriteConverter.toFavoriteMemberResponseDTO(
memberIdFavoriteIdMap.get(favoriteMember.getId()),
MemberStatConverter.toPreferenceResponseDTO(
favoriteMember.getMemberStat(),
MemberStatConverter.toMemberStatPreferenceDetailWithoutColorDTOList(
favoriteMember.getMemberStat(), criteriaPreferences), null));
}
Copy link
Member Author

Choose a reason for hiding this comment

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

본인이 멤버 스탯이 없는 경우에 대한 처리를 추가했습니다

Comment on lines -200 to +210
.count(0)
.count(null)
Copy link
Member Author

Choose a reason for hiding this comment

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

0 -> null로 반환 값을 수정했습니다

Comment on lines +237 to +246
public static List<MemberStatPreferenceDetailColorDTO> toMemberStatPreferenceDetailWithoutColorDTOList(
MemberStat memberStat, List<String> preferences) {
Map<String, Object> memberStatMap = MemberStatUtil.getMemberStatFields(memberStat,
preferences);

return memberStatMap.entrySet().stream()
.map(entry -> MemberStatConverter.toMemberStatPreferenceDetailWithoutColorDTO(
entry.getKey(), entry.getValue()))
.toList();
}
Copy link
Member Author

Choose a reason for hiding this comment

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

멤버 스탯 없는 사용자에 대해 color 처리를 위해 추가했습니다

Comment on lines +257 to +263
public static MemberStatPreferenceDetailColorDTO toMemberStatPreferenceDetailWithoutColorDTO(
String stat, Object value) {
return MemberStatPreferenceDetailColorDTO.builder()
.stat(stat)
.value(value)
.build();
}
Copy link
Member Author

Choose a reason for hiding this comment

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

멤버 스탯 없는 사용자에 대해 color 처리를 위해 추가했습니다22

int count
Integer count
Copy link
Member Author

Choose a reason for hiding this comment

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

null 반환을 위해 수정했습니다

Copy link
Contributor

@genius00hwan genius00hwan left a comment

Choose a reason for hiding this comment

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

LGTM! 큰 문제 없어 보입니다! 수정하시느라 수고하셨습니다

Copy link
Contributor

@jpark0506 jpark0506 left a comment

Choose a reason for hiding this comment

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

LGTM~

@veronees veronees merged commit 379454a into develop Dec 5, 2024
1 check passed
@veronees veronees deleted the feature/COZY-441 branch December 5, 2024 12:37
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.

3 participants