CheckoutRepository.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Shop\Checkout;
  3. use App\Events\OrderCreateEvent;
  4. use App\Shop\Carts\Repositories\CartRepository;
  5. use App\Shop\Carts\ShoppingCart;
  6. use App\Shop\Orders\Order;
  7. use App\Shop\Orders\Repositories\OrderRepository;
  8. class CheckoutRepository
  9. {
  10. /**
  11. * @param array $data
  12. *
  13. * @return Order
  14. */
  15. public function buildCheckoutItems(array $data) : Order
  16. {
  17. $orderRepo = new OrderRepository(new Order);
  18. $order = $orderRepo->createOrder([
  19. 'reference' => $data['reference'],
  20. 'courier_id' => $data['courier_id'],
  21. 'customer_id' => $data['customer_id'],
  22. 'address_id' => $data['address_id'],
  23. 'order_status_id' => $data['order_status_id'],
  24. 'payment' => $data['payment'],
  25. 'discounts' => $data['discounts'],
  26. 'total_products' => $data['total_products'],
  27. 'total' => $data['total'],
  28. 'total_paid' => $data['total_paid'],
  29. 'total_shipping' => isset($data['total_shipping']) ? $data['total_shipping'] : 0,
  30. 'tax' => $data['tax']
  31. ]);
  32. return $order;
  33. }
  34. }