From 2831bb51f2419573697e703748bc655ec5c7860b Mon Sep 17 00:00:00 2001 From: HongGit Date: Fri, 4 Oct 2024 16:34:14 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[FEAT/#26]=20=EC=B5=9C=EA=B7=BC=20=EC=A0=91?= =?UTF-8?q?=EC=88=98=20=EC=A3=BC=EB=AC=B8=EB=B2=88=ED=98=B8=20=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=EC=97=90=20=EC=9D=B4=EB=A6=84=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rootandfruit/server/controller/OrdersController.java | 3 ++- .../server/controller/docs/OrdersControllerDocs.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/rootandfruit/server/controller/OrdersController.java b/src/main/java/com/rootandfruit/server/controller/OrdersController.java index 56c5354..3a4e702 100644 --- a/src/main/java/com/rootandfruit/server/controller/OrdersController.java +++ b/src/main/java/com/rootandfruit/server/controller/OrdersController.java @@ -4,6 +4,7 @@ import com.rootandfruit.server.dto.OrderNumberResponseDto; import com.rootandfruit.server.dto.OrderRequestDto; import com.rootandfruit.server.dto.OrderResponseDto; +import com.rootandfruit.server.dto.RecentOrderResponseDto; import com.rootandfruit.server.service.OrdersService; import jakarta.validation.Valid; import java.time.LocalDate; @@ -75,7 +76,7 @@ public ResponseEntity orderCancel( } @GetMapping("order/recent") - public ResponseEntity> getRecentOrderNumber() { + public ResponseEntity> getRecentOrderNumber() { return ResponseEntity.ok(ordersService.getRecentTen()); } } diff --git a/src/main/java/com/rootandfruit/server/controller/docs/OrdersControllerDocs.java b/src/main/java/com/rootandfruit/server/controller/docs/OrdersControllerDocs.java index 58bb4f0..a13c90a 100644 --- a/src/main/java/com/rootandfruit/server/controller/docs/OrdersControllerDocs.java +++ b/src/main/java/com/rootandfruit/server/controller/docs/OrdersControllerDocs.java @@ -3,6 +3,7 @@ import com.rootandfruit.server.dto.OrderNumberResponseDto; import com.rootandfruit.server.dto.OrderRequestDto; import com.rootandfruit.server.dto.OrderResponseDto; +import com.rootandfruit.server.dto.RecentOrderResponseDto; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; @@ -115,5 +116,5 @@ ResponseEntity orderCancel( @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "주분번호 조회 성공") }) - ResponseEntity> getRecentOrderNumber(); + ResponseEntity> getRecentOrderNumber(); } \ No newline at end of file From 85727d0bf85ad56ddc1dcdb3f5ad143039fa9e32 Mon Sep 17 00:00:00 2001 From: HongGit Date: Fri, 4 Oct 2024 16:34:37 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[FEAT/#26]=20=EC=B5=9C=EA=B7=BC=20=EC=A0=91?= =?UTF-8?q?=EC=88=98=20=EC=A3=BC=EB=AC=B8=20=EC=A1=B0=ED=9A=8C=20=EC=BF=BC?= =?UTF-8?q?=EB=A6=AC=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rootandfruit/server/repository/OrdersRepository.java | 6 ++++-- .../com/rootandfruit/server/service/OrdersService.java | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/rootandfruit/server/repository/OrdersRepository.java b/src/main/java/com/rootandfruit/server/repository/OrdersRepository.java index f1ca8a0..2fde31a 100644 --- a/src/main/java/com/rootandfruit/server/repository/OrdersRepository.java +++ b/src/main/java/com/rootandfruit/server/repository/OrdersRepository.java @@ -2,6 +2,7 @@ import com.rootandfruit.server.domain.DeliveryStatus; import com.rootandfruit.server.domain.Orders; +import com.rootandfruit.server.dto.RecentOrderResponseDto; import com.rootandfruit.server.global.exception.CustomException; import com.rootandfruit.server.global.exception.ErrorType; import java.util.List; @@ -21,11 +22,12 @@ default List findByOrderNumberOrThrow(int orderNumber) { return orders; } - @Query("SELECT o.orderNumber FROM Orders o " + + @Query("SELECT new com.rootandfruit.server.dto.RecentOrderResponseDto(o.orderNumber, d.senderName) " + + "FROM Orders o " + "JOIN o.deliveryInfo d " + "WHERE d.deliveryStatus = :deliveryStatus " + "ORDER BY o.createdAt DESC") - List findDistinctOrderNumbersByDeliveryStatus( + List findRecentOrdersByDeliveryStatus( @Param("deliveryStatus") DeliveryStatus deliveryStatus, Pageable pageable ); diff --git a/src/main/java/com/rootandfruit/server/service/OrdersService.java b/src/main/java/com/rootandfruit/server/service/OrdersService.java index dd72b9a..c801ea9 100644 --- a/src/main/java/com/rootandfruit/server/service/OrdersService.java +++ b/src/main/java/com/rootandfruit/server/service/OrdersService.java @@ -11,6 +11,7 @@ import com.rootandfruit.server.dto.OrderNumberResponseDto; import com.rootandfruit.server.dto.OrderRequestDto; import com.rootandfruit.server.dto.OrderResponseDto; +import com.rootandfruit.server.dto.RecentOrderResponseDto; import com.rootandfruit.server.repository.DeliveryInfoRepository; import com.rootandfruit.server.repository.MemberRepository; import com.rootandfruit.server.repository.OrderMetaDataRepository; @@ -174,10 +175,8 @@ public void cancel(int orderNumber) { } @Transactional(readOnly = true) - public List getRecentTen() { + public List getRecentTen() { Pageable limitTen = PageRequest.of(0, 10); - List orderNumbers = ordersRepository.findDistinctOrderNumbersByDeliveryStatus(DeliveryStatus.ORDER_ACCEPTED, limitTen); - - return orderNumbers.stream().distinct().collect(Collectors.toList()); + return ordersRepository.findRecentOrdersByDeliveryStatus(DeliveryStatus.ORDER_ACCEPTED, limitTen); } } From ac3e43481a20a116fadf14facae46b91fbbdd5a7 Mon Sep 17 00:00:00 2001 From: HongGit Date: Fri, 4 Oct 2024 16:34:57 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[FEAT/#26]=20=EC=B5=9C=EA=B7=BC=20=EC=A0=91?= =?UTF-8?q?=EC=88=98=20=EC=A3=BC=EB=AC=B8=20=EC=9D=91=EB=8B=B5=20Dto=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/dto/RecentOrderResponseDto.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/com/rootandfruit/server/dto/RecentOrderResponseDto.java diff --git a/src/main/java/com/rootandfruit/server/dto/RecentOrderResponseDto.java b/src/main/java/com/rootandfruit/server/dto/RecentOrderResponseDto.java new file mode 100644 index 0000000..5ce10d6 --- /dev/null +++ b/src/main/java/com/rootandfruit/server/dto/RecentOrderResponseDto.java @@ -0,0 +1,15 @@ +package com.rootandfruit.server.dto; + +public record RecentOrderResponseDto( + Integer orderNumber, + String senderName +) { + public static RecentOrderResponseDto of( + final Integer orderNumber, + final String senderName + ) { + return new RecentOrderResponseDto( + orderNumber, senderName + ); + } +}