Skip to content

Commit

Permalink
Merge pull request #42 from MARKETFUBY/revert-39-feat/product-detail
Browse files Browse the repository at this point in the history
Revert "[차소연] 상품 상세 조회 찜 여부 오류 수정"
  • Loading branch information
Soyeon-Cha authored Nov 26, 2023
2 parents 7cc0d7b + 8af74c8 commit 16691c1
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 9 deletions.
3 changes: 1 addition & 2 deletions src/main/java/MARKETFUBY/Product/dto/ProductDetailDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public class ProductDetailDto {
private List<ProductInquiryDto> inquiries;

@Builder
public ProductDetailDto(Product product, Boolean isLiked, List<String> reviewImages, Integer reviewCount, List<ProductReviewDto> reviews, List<ProductInquiryDto> inquiries){
public ProductDetailDto(Product product, List<String> reviewImages, Integer reviewCount, List<ProductReviewDto> reviews, List<ProductInquiryDto> inquiries){
this.image = product.getImage();
this.title = product.getTitle();
this.subtitle = product.getSubtitle();
Expand All @@ -48,7 +48,6 @@ public ProductDetailDto(Product product, Boolean isLiked, List<String> reviewIma
this.info = product.getInfo();
this.delivery = product.getDelivery();
this.seller = product.getSeller();
this.isLiked = isLiked;
this.detailInfoImg = product.getDetailInfoImg();
this.productInfoImg = product.getProductInfoImg();
this.reviewImages = reviewImages;
Expand Down
30 changes: 23 additions & 7 deletions src/main/java/MARKETFUBY/Product/service/ProductService.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,22 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

import MARKETFUBY.Inquiry.domain.Inquiry;
import MARKETFUBY.Inquiry.repository.InquiryRepository;
import MARKETFUBY.Like.domain.Like;
import MARKETFUBY.Like.repository.LikeRepository;
import MARKETFUBY.Member.domain.Member;
import MARKETFUBY.Member.repository.MemberRepository;
import MARKETFUBY.Product.dto.*;
import MARKETFUBY.Review.domain.Review;
import MARKETFUBY.Review.dto.ReviewResponseDto;
import MARKETFUBY.ReviewHelp.repository.ReviewHelpRepository;
import MARKETFUBY.ReviewImage.domain.ReviewImage;
import MARKETFUBY.ReviewImage.repository.ReviewImageRepository;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityNotFoundException;
import javax.swing.text.html.Option;

import MARKETFUBY.BigCategory.domain.BigCategory;
import MARKETFUBY.BigCategory.dto.CategoryDto;
Expand Down Expand Up @@ -217,13 +214,11 @@ public SearchDto getSearchList(String sword, Integer sort, Long filters){
}

public ProductDetailDto getProductDetailDto(Product product, Long memberId){
Member member = memberRepository.findByMemberId(memberId);
Boolean isLiked = likeRepository.existsByMemberAndProduct(member, product);
List<String> reviewImages = findReviewImagesByProduct(product);
List<ProductReviewDto> reviews = findReviewsByProduct(product, memberId);
Integer reviewCount = reviews.size();
List<ProductInquiryDto> inquiries = findInquiriesByProduct(product);
ProductDetailDto productDetailDto = new ProductDetailDto(product, isLiked, reviewImages, reviewCount, reviews, inquiries);
ProductDetailDto productDetailDto = new ProductDetailDto(product, reviewImages, reviewCount, reviews, inquiries);
return productDetailDto;
}

Expand Down Expand Up @@ -273,6 +268,27 @@ public List<ProductInquiryDto> findInquiriesByProduct(Product product){
});
return productInquiryDtos;
}

public LikeProductListResponseDto getLikeProductListDto(Member member){
List<LikeProductDto> likeProductDtos = findLikeProductsByMember(member);
Integer productNum = likeProductDtos.size();
return new LikeProductListResponseDto(productNum, likeProductDtos);
}

public List<LikeProductDto> findLikeProductsByMember(Member member){
List<Like> likeList = likeRepository.findAllByMember(member);
List<Product> likeProducts = new ArrayList<>();
List<LikeProductDto> likeProductDtos = new ArrayList<>();
likeList.forEach(like -> {
Product product = like.getProduct();
likeProducts.add(product);
});
likeProducts.forEach(product -> {
LikeProductDto likeProductDto = LikeProductDto.from(product);
likeProductDtos.add(likeProductDto);
});
return likeProductDtos;
}

// 찜하기에서 사용
@Transactional(readOnly = true)
Expand Down

0 comments on commit 16691c1

Please sign in to comment.