Skip to content

Instantly share code, notes, and snippets.

@SudhanshuGulhane
Last active March 16, 2021 05:24
@Service
public class OrderService {
@Autowired
private OrderRepository orderRepository;
@Autowired
private CartService cartService;
@Autowired
OrderItemsService orderItemsService;
public void placeOrder(int userId, String sessionId) {
CartDto cartDto = cartService.listCartItems(userId);
PlaceOrderDto placeOrderDto = new PlaceOrderDto();
placeOrderDto.setUserId(userId);
placeOrderDto.setTotalPrice(cartDto.getTotalCost());
int orderId = saveOrder(placeOrderDto, userId, sessionId);
List<CartItemDto> cartItemDtoList = cartDto.getcartItems();
for (CartItemDto cartItemDto : cartItemDtoList) {
OrderItem orderItem = new OrderItem(
orderId,
cartItemDto.getProduct().getId(),
cartItemDto.getQuantity(),
cartItemDto.getProduct().getPrice());
orderItemsService.addOrderedProducts(orderItem);
}
cartService.deleteCartItems(userId);
}
public int saveOrder(PlaceOrderDto orderDto, int userId, String sessionID){
Order order = getOrderFromDto(orderDto,userId,sessionID);
return orderRepository.save(order).getId();
}
private Order getOrderFromDto(PlaceOrderDto orderDto, int userId,String sessionID) {
Order order = new Order(orderDto,userId,sessionID);
return order;
}
public List<Order> listOrders(int user_id) {
List<Order> orderList = orderRepository.findAllByUserIdOrderByCreatedDateDesc(user_id);
return orderList;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment