Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kodilla.ecommercee.service;
- import com.kodilla.ecommercee.domain.Order;
- import com.kodilla.ecommercee.repository.OrderRepository;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- import java.util.Optional;
- @Service
- public class DbService {
- @Autowired
- private OrderRepository repository;
- public List<Order> getAllOrders() {
- return repository.findAll();
- }
- public Order saveOrder(final Order order) {
- return repository.save(order);
- }
- public Optional<Order> getOrder(final Long id) {
- return repository.findById(id);
- }
- public void deleteOrder(Long id) {
- repository.deleteById(id);
- }
- }
- package com.kodilla.ecommercee.mapper;
- import com.kodilla.ecommercee.domain.Order;
- import com.kodilla.ecommercee.domain.OrderDto;
- import org.springframework.stereotype.Component;
- import java.util.List;
- import java.util.stream.Collectors;
- @Component
- public class OrderMapper {
- public Order mapToOrder(final OrderDto orderDto){
- return new Order(
- orderDto.getId(),
- orderDto.getDateOfCreation(),
- orderDto.getDateOfShipment(),
- orderDto.getShippingAdress(),
- orderDto.isOrdered());
- }
- public OrderDto mapToOrderDto(final Order order){
- return new OrderDto(
- order.getId(),
- order.getDateOfCreation(),
- order.getDateOfShipment(),
- order.getShippingAdress(),
- order.isOrdered());
- }
- public List<OrderDto>mapToOrderDtoList(final List<Order> orderList){
- return orderList.stream()
- .map(t->new OrderDto(t.getId(),t.getDateOfCreation(),t.getDateOfShipment(),t.getShippingAdress(),t.isOrdered()))
- .collect(Collectors.toList());
- }
- }
- package com.kodilla.ecommercee.controller;
- import com.kodilla.ecommercee.domain.OrderDto;
- import com.kodilla.ecommercee.mapper.OrderMapper;
- import com.kodilla.ecommercee.service.DbService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.MediaType;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- @RestController
- @RequestMapping(value = "/v1/project/order",consumes = MediaType.APPLICATION_JSON_VALUE)
- public class OrderController {
- @Autowired
- private DbService service;
- @Autowired
- private OrderMapper orderMapper;
- @RequestMapping(method = RequestMethod.GET, value = "getOrders")
- public List<OrderDto> getOrders() {
- return orderMapper.mapToOrderDtoList(service.getAllOrders());
- }
- @RequestMapping(method = RequestMethod.GET, value = "getOrder")
- public OrderDto getOrder( @RequestParam Long orderId) throws OrderNotFoundException{
- return orderMapper.mapToOrderDto(service.getOrder(orderId).orElseThrow(OrderNotFoundException::new));
- }
- @RequestMapping(method = RequestMethod.POST, value = "addOrder")
- public void addOrder( OrderDto orderDto) {
- service.saveOrder(orderMapper.mapToOrder(orderDto));
- }
- @RequestMapping(method = RequestMethod.PUT, value = "updateOrder")
- public OrderDto updateOrder(@RequestBody OrderDto orderDto) {
- return orderMapper.mapToOrderDto(service.saveOrder(orderMapper.mapToOrder(orderDto)));
- }
- @RequestMapping(method = RequestMethod.DELETE, value = "deleteOrder")
- public void deleteOrder(@RequestParam Long orderId) {
- service.deleteOrder(orderId);
- }
- }
- package com.kodilla.ecommercee.domain;
- import lombok.AllArgsConstructor;
- import lombok.Getter;
- import lombok.NoArgsConstructor;
- import java.time.LocalDateTime;
- @Getter
- @AllArgsConstructor
- @NoArgsConstructor
- public class OrderDto {
- private Long id;
- private LocalDateTime dateOfCreation;
- private LocalDateTime dateOfShipment;
- private String shippingAdress;
- private boolean isOrdered;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement