/** * @param array $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array $returnArray */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayone $paymentEntity */ $paymentEntity = $orderEntity->getSpyPaymentPayones()->getFirst(); $this->getFacade()->authorizePayment($paymentEntity->getFkSalesOrder()); return []; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return array */ protected function getVoucherCodes(SpySalesOrder $orderEntity) { $voucherCodes = []; foreach ($orderEntity->getDiscounts() as $discountEntity) { foreach ($discountEntity->getDiscountCodes() as $salesDiscountCodesEntity) { $voucherCodes[$salesDiscountCodesEntity->getCode()] = $salesDiscountCodesEntity->getCode(); } } return $voucherCodes; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { $config = $this->getFactory()->getConfig(); $mailTransfer = new MailTransfer(); $mailTransfer->setTemplateName($config->getEmailTemplateName()); $this->addMailRecipient($mailTransfer, $orderEntity->getEmail()); $this->addMailRecipient($mailTransfer, $this->getPayolutionBccEmail($config)); $this->setMailTransferFrom($mailTransfer, $config); $this->setMailTransferSubject($mailTransfer, $config); $mailFacade = $this->getFactory()->getMailFacade(); $mailFacade->sendMail($mailTransfer); return []; }
/** * @param array $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array Array */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { $payoneRefundTransfer = new PayoneRefundTransfer(); $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($orderEntity->toArray(), true); $refundTransfer = $this->getFactory()->getRefundFacade()->calculateRefund($orderItems, $orderEntity); $payoneRefundTransfer->setAmount($refundTransfer->getAmount() * -1); $paymentPayoneEntity = $orderEntity->getSpyPaymentPayones()->getFirst(); $payonePaymentTransfer = new PayonePaymentTransfer(); $payonePaymentTransfer->fromArray($paymentPayoneEntity->toArray(), true); $payoneRefundTransfer->setPayment($payonePaymentTransfer); $payoneRefundTransfer->setUseCustomerdata(PayoneApiConstants::USE_CUSTOMER_DATA_YES); $narrativeText = $this->getFactory()->getConfig()->getNarrativeText($orderItems, $orderEntity, $data); $payoneRefundTransfer->setNarrativeText($narrativeText); $this->getFacade()->refundPayment($payoneRefundTransfer); return []; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function createOrderTransferMock() { $totalsTransfer = new TotalsTransfer(); $totalsTransfer->setGrandTotal(10000); $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($this->orderEntity->toArray(), true); $orderTransfer->setTotals($totalsTransfer); return $orderTransfer; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function createOrderTransfer() { $orderTransfer = new OrderTransfer(); $totalTransfer = new TotalsTransfer(); $totalTransfer->setGrandTotal(1000); $orderTransfer->setTotals($totalTransfer); $orderTransfer->setIdSalesOrder($this->orderEntity->getIdSalesOrder()); return $orderTransfer; }
/** * @param string $processName * * @return array */ public function prepareItems($processName) { $orderItemsArray = $this->getOrderItems($processName); $orders = []; $txtArray = []; foreach ($orderItemsArray as $orderItemArray) { if (!isset($orders[$orderItemArray['orderId']])) { $order = new SpySalesOrder(); $order->setGrandTotal(10000); $order->setSubtotal(9900); $order->setIsTest(false); $address = new SpySalesOrderAddress(); $address->setLastName('Doe'); $address->setFirstName('John'); $address->setCity('Berlin'); $address->setZipCode('12345'); $address->setAddress1('Blastr 1'); $country = SpyCountryQuery::create()->findOneByIdCountry(1); $address->setCountry($country); $order->setBillingAddress($address); $order->setShippingAddress($address); $orders[$orderItemArray['orderId']] = $order; } } $states = []; $orderItems = []; foreach ($orderItemsArray as $orderItemArray) { if (isset($states[$orderItemArray['state']])) { $state = $states[$orderItemArray['state']]; } else { $state = new SpyOmsOrderItemState(); $state->setName($orderItemArray['state']); $state->save(); $states[$orderItemArray['state']] = $state; } $txtArray[] = 'State: ' . $state->getName(); $process = SpyOmsOrderProcessQuery::create()->filterByName($orderItemArray['process'])->findOneOrCreate(); $process->setName($orderItemArray['process']); $process->save(); $txtArray[] = 'Process: ' . $process->getName(); $item = new SpySalesOrderItem(); $item->setState($state); $item->setProcess($process); $item->setName('Testproduct'); $item->setSku('12345ABC'); $item->setGrossPrice(10); $orders[$orderItemArray['orderId']]->addItem($item); $orderItems[] = $item; } foreach ($orderItems as $orderItem) { $orderItem->save(); $txtArray[] = 'orderItem saved: ' . $orderItem->getIdSalesOrderItem(); } return $txtArray; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderTransfer(SpySalesOrder $salesOrderEntity) { $orderTransfer = $this->salesAggregatorFacade->getOrderTotalsByIdSalesOrder($salesOrderEntity->getIdSalesOrder()); return $orderTransfer; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return \Orm\Zed\Payolution\Persistence\SpyPaymentPayolution */ protected function getPaymentEntity(SpySalesOrder $orderEntity) { $paymentEntity = $orderEntity->getSpyPaymentPayolutions()->getFirst(); return $paymentEntity; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return void */ protected function addShipmentExpense(SpySalesOrder $salesOrderEntity) { $shipmentEntity = $salesOrderEntity->getShipmentMethod(); $shipmentExpense = new SpySalesExpense(); $shipmentExpense->setFkSalesOrder($salesOrderEntity->getIdSalesOrder()); $shipmentExpense->setName($shipmentEntity->getName()); $shipmentExpense->setType(ShipmentConstants::SHIPMENT_EXPENSE_TYPE); $shipmentExpense->setGrossPrice($shipmentEntity->getDefaultPrice()); $shipmentExpense->save(); }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return void */ protected function hydrateEntityFromOrderTransfer(OrderTransfer $orderTransfer, SpySalesOrder $orderEntity) { $orderEntity->fromArray($orderTransfer->modifiedToArray()); }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order * @param string $flag * @param bool $hasFlag * * @return \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] */ protected function getItemsByFlag(SpySalesOrder $order, $flag, $hasFlag) { $items = $order->getItems(); $states = $this->getStatesByFlag($items->getFirst()->getProcess()->getName(), $flag, $hasFlag); $selectedItems = []; foreach ($items as $item) { if (array_key_exists($item->getState()->getName(), $states)) { $selectedItems[] = $item; } } return $selectedItems; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderTransfer(SpySalesOrder $orderEntity) { $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($orderEntity->toArray(), true); return $orderTransfer; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return void */ protected function createSalesExpense(SpySalesOrder $salesOrderEntity) { $salesExpenseEntity = new SpySalesExpense(); $salesExpenseEntity->setName('shipping test'); $salesExpenseEntity->setTaxRate(19); $salesExpenseEntity->setGrossPrice(100); $salesExpenseEntity->setFkSalesOrder($salesOrderEntity->getIdSalesOrder()); $salesExpenseEntity->save(); }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order * @return \Generated\Shared\Transfer\ZeroPaymentConditionCheckTransfer */ protected function createConditionTransfer(SpySalesOrder $order) { $conditionCheckTransfer = new ZeroPaymentConditionCheckTransfer(); $conditionCheckTransfer->setFkSalesOrder($order->getPrimaryKey()); return $conditionCheckTransfer; }
/** * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return void */ protected function hydrateCheckoutResponseTransfer(CheckoutResponseTransfer $checkoutResponseTransfer, QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity) { $saveOrderTransfer = $this->getSaveOrderTransfer($checkoutResponseTransfer); $this->hydrateSaveOrderTransfer($saveOrderTransfer, $quoteTransfer); $saveOrderTransfer->fromArray($salesOrderEntity->toArray(), true); $checkoutResponseTransfer->setSaveOrder($saveOrderTransfer); }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return void */ protected function hydrateExpensesToOrderTransfer(SpySalesOrder $orderEntity, OrderTransfer $orderTransfer) { foreach ($orderEntity->getExpenses() as $expenseEntity) { $expenseTransfer = new ExpenseTransfer(); $expenseTransfer->fromArray($expenseEntity->toArray(), true); $expenseTransfer->setUnitGrossPrice($expenseEntity->getGrossPrice()); $orderTransfer->addExpense($expenseTransfer); } }
/** * @param array $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array $returnArray */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { $paymentEntity = $orderEntity->getSpyPaymentPayones()->getFirst(); $this->getFacade()->preAuthorizePayment($paymentEntity->getFkSalesOrder()); return []; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { $message = sprintf('Command SendOrderConfirmation by Order for Order %s (%s items)', $orderEntity->getIdSalesOrder(), count($orderItems)); Log::log($message, 'statemachine.log'); return []; }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return void */ protected function addShippingDetailsToOrder(QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity) { $shipmentMethodTransfer = $quoteTransfer->getShipment()->getMethod(); $salesOrderEntity->setFkShipmentMethod($shipmentMethodTransfer->getIdShipmentMethod()); $salesOrderEntity->setShipmentDeliveryTime($shipmentMethodTransfer->getDeliveryTime()); }
/** * @param array $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return string */ public function getNarrativeText(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { return $orderEntity->getOrderReference(); }