<?php
/**
* Copyright © Qliro AB. All rights reserved.
* See LICENSE.txt for license details.
*/
namespace Qliro\QliroOne\Model\OrderManagementStatus\Update\Handler;
use Qliro\QliroOne\Api\Admin\OrderManagementStatusUpdateHandlerInterface;
class Cancel implements OrderManagementStatusUpdateHandlerInterface
{
/**
* @var \Qliro\QliroOne\Model\Logger\Manager
*/
private $logManager;
/**
* Inject dependnecies
*
* @param \Qliro\QliroOne\Model\Logger\Manager $logManager
*/
public function __construct(
\Qliro\QliroOne\Model\Logger\Manager $logManager
) {
$this->logManager = $logManager;
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleSuccess($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleCancelled($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleError($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleInProcess($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleOnHold($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleUserInteraction($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
public function handleCreated($qliroOrderManagementStatus, $omStatus)
{
$this->log($qliroOrderManagementStatus, $omStatus);
}
/**
* @param \Qliro\QliroOne\Model\Notification\QliroOrderManagementStatus $qliroOrderManagementStatus
* @param \Qliro\QliroOne\Model\OrderManagementStatus $omStatus
*/
private function log($qliroOrderManagementStatus, $omStatus)
{
$merchantReference = $qliroOrderManagementStatus->getMerchantReference();
$this->logManager->setMerchantReference($merchantReference);
$logData = [
'status' => $qliroOrderManagementStatus->getStatus(),
'qliro_order_id' => $qliroOrderManagementStatus->getOrderId(),
'transaction_id' => $omStatus->getTransactionId(),
'transaction_status' => $omStatus->getTransactionStatus(),
'record_type' => $omStatus->getRecordType(),
'record_id' => $omStatus->getRecordId(),
];
$this->logManager->info('Order cancellation transaction changed status', ['extra' => $logData]);
}
}