-
Notifications
You must be signed in to change notification settings - Fork 2
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
fix: 카페 이미지 3개 초과하여 저장 시 예외 반환하는 로직 버그 수정 #140
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고했어요~
@@ -350,7 +350,7 @@ public CafeImagesSaveResponse saveCafeImage(Long memberId, String mapId, List<Mu | |||
private void validateOwnedCafeImagesCounts(Cafe cafe, Member member, List<MultipartFile> requestCafeImages) { | |||
List<CafeImage> currentOwnedCafeImages = cafe.getCafeImages() | |||
.stream() | |||
.filter(cafeImage -> cafeImage.isOwned(member)) | |||
.filter(cafeImage -> cafeImage.isOwned(member) && cafeImage.getIsUsed()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cafeImage.isOwned(member) && cafeImage.getIsUsed()
로 분기가 되니까 조금 이해하기 어렵더라고요. PR의 overview에 설명을 워낙 잘해주셔서 이해하긴 했는데, 코드만 보곤 어떤 조건으로 필터링되는거지? 싶었어요.
따로 이 부분을 private method로 뺀 후, 적절한 네이밍을 짓는 것도 괜찮겠네요. (근데 기가막힌 네이밍 짓기가 좀 어려울 거 같긴 해요)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
케이님 리뷰 좋은데, 저는 여기서는 너무 많은 private 메서드는 지양하는게 좋기도 한 것 같아요.
이미 CafeService가 너무 무거워서.. UseCase layer를 하나 더 만드는것도 좋아보였어요 ㅎㅎ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 그리고 filter를 두개 쓰는 방안도 있을 것 같은데, 크리티컬 하고 크진 않지만 성능 상 테스트 해보면 지금이 더 좋다고 합니다~
@@ -2,6 +2,6 @@ | |||
|
|||
public class ExceedCageImagesTotalCountsException extends BadRequestException{ | |||
public ExceedCageImagesTotalCountsException() { | |||
super("카페 이미지는 3개 이상 등록하실 수 없습니다.", 2008); | |||
super("카페 이미지는 4개 이상 등록하실 수 없습니다.", 2008); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그동안 이런 오타가 있었다니 새삼 놀랍네요ㅋㅋㅋ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수정 감사합니다 메리님 🙏
리뷰 남겼는데 읽어만 보셔도 좋을 것 같아요 :)
고생하셨어요!
@@ -350,7 +350,7 @@ public CafeImagesSaveResponse saveCafeImage(Long memberId, String mapId, List<Mu | |||
private void validateOwnedCafeImagesCounts(Cafe cafe, Member member, List<MultipartFile> requestCafeImages) { | |||
List<CafeImage> currentOwnedCafeImages = cafe.getCafeImages() | |||
.stream() | |||
.filter(cafeImage -> cafeImage.isOwned(member)) | |||
.filter(cafeImage -> cafeImage.isOwned(member) && cafeImage.getIsUsed()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
케이님 리뷰 좋은데, 저는 여기서는 너무 많은 private 메서드는 지양하는게 좋기도 한 것 같아요.
이미 CafeService가 너무 무거워서.. UseCase layer를 하나 더 만드는것도 좋아보였어요 ㅎㅎ
@@ -350,7 +350,7 @@ public CafeImagesSaveResponse saveCafeImage(Long memberId, String mapId, List<Mu | |||
private void validateOwnedCafeImagesCounts(Cafe cafe, Member member, List<MultipartFile> requestCafeImages) { | |||
List<CafeImage> currentOwnedCafeImages = cafe.getCafeImages() | |||
.stream() | |||
.filter(cafeImage -> cafeImage.isOwned(member)) | |||
.filter(cafeImage -> cafeImage.isOwned(member) && cafeImage.getIsUsed()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 그리고 filter를 두개 쓰는 방안도 있을 것 같은데, 크리티컬 하고 크진 않지만 성능 상 테스트 해보면 지금이 더 좋다고 합니다~
개요
isUsed==false
인 이미지(이미지 삭제 스케줄링에 의해 삭제되지 않은 이미지)까지 카운트합니다. 현재isUsed==true
인 이미지만 카운트하도록 로직을 수정했습니다.작업사항
주의사항
isUsed
까지 판별하는지 확인하는 테스트 코드가 추가로 필요하지 않다고 생각하여 생략했습니다.