diff --git a/src/main/java/com/vegamarket/orderservice/controller/OrdersController.java b/src/main/java/com/vegamarket/orderservice/controller/OrdersController.java index 1726443..ae49f8c 100644 --- a/src/main/java/com/vegamarket/orderservice/controller/OrdersController.java +++ b/src/main/java/com/vegamarket/orderservice/controller/OrdersController.java @@ -6,10 +6,9 @@ import com.vegamarket.orderservice.services.OrdersService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequestMapping("/orders") @@ -21,4 +20,14 @@ public class OrdersController { public ResponseEntity create(@RequestBody NewOrderDTO createDTO) { return new ResponseEntity<>(ordersService.createOrder(createDTO), HttpStatus.CREATED); } + + @GetMapping("{orderId}") + public ResponseEntity get(@PathVariable Long orderId) { + return ResponseEntity.ok().body(ordersService.getById(orderId)); + } + + @GetMapping("/customer/{customerId}") + public ResponseEntity> getAllByCustomer(@PathVariable Long customerId) { + return ResponseEntity.ok().body(ordersService.getAllByCustomerId(customerId)); + } } diff --git a/src/main/java/com/vegamarket/orderservice/model/OrdersRepository.java b/src/main/java/com/vegamarket/orderservice/model/OrdersRepository.java index 21aa2a5..bd8a063 100644 --- a/src/main/java/com/vegamarket/orderservice/model/OrdersRepository.java +++ b/src/main/java/com/vegamarket/orderservice/model/OrdersRepository.java @@ -2,5 +2,8 @@ package com.vegamarket.orderservice.model; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface OrdersRepository extends JpaRepository { + List findALlByCustomerId(Long customerId); } diff --git a/src/main/java/com/vegamarket/orderservice/services/OrdersService.java b/src/main/java/com/vegamarket/orderservice/services/OrdersService.java index 2b30976..8b71869 100644 --- a/src/main/java/com/vegamarket/orderservice/services/OrdersService.java +++ b/src/main/java/com/vegamarket/orderservice/services/OrdersService.java @@ -31,6 +31,18 @@ public class OrdersService { return order; } + public Orders getById(Long id) { + Orders order = ordersRepository.findById(id).orElseThrow(() -> { + throw new RuntimeException("Order not found"); + }); + + return order; + } + + public List getAllByCustomerId(Long customerId) { + return ordersRepository.findALlByCustomerId(customerId); + } + private BigDecimal getTotalAmount(List items) { BigDecimal totalAmount = BigDecimal.ZERO; for (OrderItems item : items) {