From 5a8062a7ee80f71e0704fd63a4ea52224d0ae017 Mon Sep 17 00:00:00 2001 From: aeeazip Date: Sun, 20 Aug 2023 23:32:49 +0900 Subject: [PATCH] =?UTF-8?q?fix(#125)=20:=20=EC=9D=B8=EC=A6=9D=EC=84=9C=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trothcam/dto/web/ProductsResDto.java | 4 +- .../trothcam/service/web/ProductService.java | 48 +++++++++---------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/main/java/trothly/trothcam/dto/web/ProductsResDto.java b/src/main/java/trothly/trothcam/dto/web/ProductsResDto.java index faeb8c5..a272423 100644 --- a/src/main/java/trothly/trothcam/dto/web/ProductsResDto.java +++ b/src/main/java/trothly/trothcam/dto/web/ProductsResDto.java @@ -5,6 +5,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; +import java.time.LocalDateTime; + @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @@ -13,7 +15,7 @@ public class ProductsResDto { private Long productId; private String title; private String ownerWebId; - private String soldAt; + private LocalDateTime soldAt; private Long price; private boolean isLiked; } diff --git a/src/main/java/trothly/trothcam/service/web/ProductService.java b/src/main/java/trothly/trothcam/service/web/ProductService.java index c2fc811..0095da2 100644 --- a/src/main/java/trothly/trothcam/service/web/ProductService.java +++ b/src/main/java/trothly/trothcam/service/web/ProductService.java @@ -54,18 +54,16 @@ public List findPublicProducts(String webId) throws BaseExceptio if (findProducts == null || findProducts.isEmpty()) throw new BaseException(ErrorCode.PRODUCT_NOT_FOUND); - List result = new ArrayList<>(); - for (int i = 0; i < findProducts.size(); i++) { - Product p = findProducts.get(i); - LocalDateTime soldAt = historyRepository.findTopByProduct_IdOrderBySoldAt(p.getId()) - .orElse(p.getLastModifiedAt()); - boolean isLiked = likeProductRepository.existsByProduct_IdAndMember_Id(p.getId(), p.getMember().getId()); + List result = findProducts.stream() + .map(p -> { + LocalDateTime soldAt = historyRepository.findTopByProduct_IdOrderBySoldAt(p.getId()) + .orElse(p.getLastModifiedAt()); + boolean isLiked = likeProductRepository.existsByProduct_IdAndMember_Id(p.getId(), p.getMember().getId()); - ProductsResDto dto = new ProductsResDto(p.getId(), p.getTitle(), p.getMember().getWebId(), - soldAt.format(DateTimeFormatter.ofPattern("YYYYMMdd")), p.getPrice(), isLiked); - - result.add(dto); - } + return new ProductsResDto(p.getId(), p.getTitle(), p.getMember().getWebId(), + soldAt, p.getPrice(), isLiked); + }) + .collect(Collectors.toList()); return result; } @@ -78,21 +76,19 @@ public List findPrivateProducts(String webId) throws BaseExcepti if (findProducts == null || findProducts.isEmpty()) throw new BaseException(ErrorCode.PRODUCT_NOT_FOUND); - List result = new ArrayList<>(); - for (int i = 0; i < findProducts.size(); i++) { - Product p = findProducts.get(i); - LocalDateTime soldAt = p.getLastModifiedAt(); - boolean isLiked = likeProductRepository.existsByProduct_IdAndMember_Id(p.getId(), p.getMember().getId()); - Long price = p.getPrice(); - if (price == null) { - price = 0L; - } - - ProductsResDto dto = new ProductsResDto(p.getId(), p.getTitle(), p.getMember().getWebId(), - soldAt.format(DateTimeFormatter.ofPattern("YYYYMMdd")), price, isLiked); - - result.add(dto); - } + List result = findProducts.stream() + .map(p->{ + LocalDateTime soldAt = p.getLastModifiedAt(); + boolean isLiked = likeProductRepository.existsByProduct_IdAndMember_Id(p.getId(), p.getMember().getId()); + Long price = p.getPrice(); + if (price == null) { + price = 0L; + } + + return new ProductsResDto(p.getId(), p.getTitle(), p.getMember().getWebId(), + soldAt, price, isLiked); + }) + .collect(Collectors.toList()); return result; }