예제 #1
0
 protected function createShopOrder($order)
 {
     if (!is_array($order)) {
         $order = $this->getOrder($order);
     }
     $order_id = $order['id_order'];
     $currency = Currency::getCurrencyInstance((int) $order['id_currency']);
     $shop_order = YousticeShopOrder::create();
     $shop_order->setDescription('');
     if (empty($order)) {
         exit('Operation not allowed');
     }
     $shop_order->setName('#' . $order['reference']);
     $shop_order->setCurrency($currency->iso_code);
     $shop_order->setPrice((double) $order['total_paid']);
     $shop_order->setId($order_id);
     $shop_order->setDeliveryDate($order['delivery_date']);
     $shop_order->setOrderDate($order['date_add']);
     $shop_order->setHref($this->createOrderReportHref($order_id));
     $shop_order->setOrderDetailHref($this->createOrderDetailHref($order_id));
     if ($order['total_paid_real'] >= $order['total_paid']) {
         $shop_order->setPaymentState(YousticeShopOrder::PAID);
     }
     if (strtotime($order['delivery_date']) > 0) {
         $shop_order->setDeliveryState(YousticeShopOrder::DELIVERED);
     }
     $shop_order->setOtherInfo('');
     $order_object = new Order((int) $order_id);
     $products = $order_object->getProducts();
     foreach ($products as $product) {
         $shop_product = $this->createShopProduct($product, $order_id);
         $shop_product->setCurrency($currency->iso_code);
         $shop_product->setDeliveryDate($order['delivery_date']);
         $shop_product->setOrderDate($order['date_add']);
         $shop_order->addProduct($shop_product);
     }
     return $shop_order;
 }