src/Controller/Api/OrderApiController.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Api;
  3. use App\Entity\Customer;
  4. use App\Entity\Order;
  5. use App\Service\OrderService;
  6. use DateTime;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. use PHPShopify\ShopifySDK;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\JsonResponse;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. class OrderApiController extends AbstractController
  15. {
  16.     /**
  17.      * @Route("/api/pending_order", name="app_pending_order_api")
  18.      */
  19.     public function index(Request $requestManagerRegistry $doctrine): Response
  20.     {
  21.         $entityManager $doctrine->getManager();
  22.         $customerId $request->query->get('id');
  23.         $customerObj $entityManager->getRepository(Customer::class)->findOneBy(array('customerId' => $customerId));
  24.         if (empty($customerObj)){
  25.             return new JsonResponse([]);
  26.         }
  27.         
  28.         $customerObjId $customerObj->getId();
  29.         $orders $entityManager->getRepository(Order::class)->findBy(array('customer' => $customerObjId));
  30.         $objResponse = array();
  31.         foreach ($orders as $order) {
  32.             if (empty($order->getDraftOrderLink())) {
  33.                 continue;
  34.             }
  35.             $orderCreatedAt $order->getDate();
  36.             $orderCreatedAt date_format($orderCreatedAt'd/m/Y');
  37.             array_push($objResponse, [
  38.                 $order->getOrderId(),
  39.                 $orderCreatedAt,
  40.                 $order->getPaymentStatus(),
  41.                 '$'round($order->getTotal(), 2),
  42.                 '<a href="'$order->getDraftOrderLink() .'">View Pending Checkout</a>',
  43.             ]);
  44.         }
  45.         
  46.         return new JsonResponse(array('data' => $objResponse));
  47.     }
  48.     /**
  49.      * @Route("/api/test_order", name="app_test_order")
  50.      */
  51.     public function testorders(Request $requestOrderService $orderService): Response
  52.     {
  53.         $response $orderService->pushProductsFromDraftOrder('1097635004649');
  54.         // $orderService->pushHcpProducts();
  55.         // return new JsonResponse(['test']);
  56.         return $response;
  57.     }
  58. }