/** * Collect orders data and call service method to register order PV. * * @param \Magento\Sales\Api\Data\OrderInterface $order */ public function savePv(\Magento\Sales\Api\Data\OrderInterface $order) { $orderId = $order->getId(); $state = $order->getState(); $dateCreated = $order->getCreatedAt(); $itemsData = $this->_subCollector->getServiceItemsForMageSaleOrder($order); /* compose request data and request itself */ /** @var \Praxigento\Pv\Service\Sale\Request\Save $req */ $req = $this->_manObj->create(\Praxigento\Pv\Service\Sale\Request\Save::class); $req->setSaleOrderId($orderId); $req->setOrderItems($itemsData); if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING) { $req->setSaleOrderDatePaid($dateCreated); } $this->_callSale->save($req); }
/** * Register PV transaction for sale order. */ private function _createPvTransaction($custId, $orderId, $dateApplied) { $req = new PvSaleAccountPvRequest(); $req->setCustomerId($custId); $req->setSaleOrderId($orderId); $req->setDateApplied($dateApplied); $resp = $this->_callPvSale->accountPv($req); if ($resp->isSucceed()) { $this->_logger->debug("New PV transaction is registered for order #{$orderId} and customer #{$custId} ."); } }
public function setUp() { parent::setUp(); /* clear cached data */ $this->_callPvSale->cacheReset(); }