-
Notifications
You must be signed in to change notification settings - Fork 0
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
♻️ separate recipe info query #445
Conversation
- retrieve category and ingredient from respective services - move DTOs to respective domains
|
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.
로직을 잘 분리해주셔서 가독성이 더 좋아진 것 같아요👍
코멘트 몇 개 남겼는데 확인 부탁드립니다
고생하셨습니다!
|
||
public List<IngredientResponse> findIngredientByRecipe(Recipe recipe) { |
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.
@Transactional(readOnly = true)
을 안붙이신 이유가 있으신가요??
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.
급해서 발견을 못했네요....
추가하겠습니다!
@@ -32,6 +35,13 @@ public void register(List<IngredientCreateRequest> requests, Recipe recipe) { | |||
} | |||
} | |||
|
|||
public List<IngredientResponse> findIngredientByRecipe(Recipe recipe) { | |||
return ingredientRecipeRepository.findAllByRecipeId(recipe.getId()) |
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.
categoryRecipeRepository.findAllByRecipe(recipe);
엔티티로 조회할지 id로 조회할지 얘기해보면 좋을 것 같아요!
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.
일단 카테고리를 먼저 수정했는데 카테고리엔 관련 메서드가 없어서 새로 만들었습니다!
그런데 재료에는 관련 메서드가 있어서 일단 그걸 먼저 사용했어요.
이따 회의 때 카테고리의 메서드도 통일하는게 좋을지 함께 이야기해보아요...!!
ingredientRecipe.getRequirement()) | ||
; |
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.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
고치겠습니다................ ㅎㅎ
public RecipeDescriptionResponse( | ||
UserInfo userInfo, | ||
RecipeDataResponse firstResponse, | ||
Recipe recipe, | ||
List<CategoryResponse> category, | ||
List<IngredientResponse> ingredient, | ||
boolean isLike |
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.
아토 코드 리뷰 완료했습니다.
기존 로직보다 훨신 깔끔하게 잘 리팩토링 하신것 같아요. 👍👍
이번 pr로 조만간 진행할 계층분리를 하기 좋은 코드가 된것 같아요.
수고하셨습니다!
@@ -32,6 +35,13 @@ public void register(List<IngredientCreateRequest> requests, Recipe recipe) { | |||
} | |||
} | |||
|
|||
public List<IngredientResponse> findIngredientByRecipe(Recipe recipe) { | |||
return ingredientRecipeRepository.findAllByRecipeId(recipe.getId()) |
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.
크게 문제가 될것 같지는 않지만 다른 로직에서 대부분 아이디로 조회하고 있네요. 수정하는것도 좋아 보입니다!
userInfo.isSameUser(firstResponse.authorId()), | ||
userInfo.isSameUser(recipe.getAuthor().getId()), |
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.
👍
@Query(""" | ||
SELECT new net.pengcook.recipe.dto.RecipeDataResponse( | ||
r.id, | ||
r.title, | ||
r.author.id, | ||
r.author.username, | ||
r.author.image, |
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.
👍👍
|
|
- modify considering meaning and JPA usage
|
레시피의 정보를 찾아올 때, 조인을 남발하고 한방 쿼리로 찾아오던 것을 변경했습니다.
카테고리는 카테고리서비스에서, 재료는 재료서비스에서 찾아옵니다.
그리고 그것들을 레시피서비스에서 합칩니다!
주된 변경은 레시피서비스이니 그 부분을 시작으로 확인하시면 읽기 편할 겁니다!