ltsecurityinc安防产品在线商城代码
This commit is contained in:
+46
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
namespace JR\NetSuite\Plugin;
|
||||
|
||||
class SendEmailWhenRmaChanged
|
||||
{
|
||||
/**
|
||||
* @var \JR\NetSuite\Model\ResourceModel\RmaQueue\CollectionFactory
|
||||
*/
|
||||
private $rmaQueueCollectionFactory;
|
||||
|
||||
/**
|
||||
* @var \Mirasvit\Rma\Api\Service\Rma\RmaManagementInterface
|
||||
*/
|
||||
private $rmaManagement;
|
||||
|
||||
public function __construct(
|
||||
\JR\NetSuite\Model\ResourceModel\RmaQueue\CollectionFactory $rmaQueueCollectionFactory,
|
||||
\Mirasvit\Rma\Api\Service\Rma\RmaManagementInterface $rmaManagement
|
||||
)
|
||||
{
|
||||
$this->rmaQueueCollectionFactory = $rmaQueueCollectionFactory;
|
||||
$this->rmaManagement = $rmaManagement;
|
||||
}
|
||||
|
||||
public function aroundOnRmaStatusChange(
|
||||
\Mirasvit\Rma\Helper\Rma\Event $subject,
|
||||
callable $proceed,
|
||||
$rma
|
||||
) {
|
||||
// if RMA just created, do nothing
|
||||
$rmaQueueCollection = $this->rmaQueueCollectionFactory->create();
|
||||
$rmaQueueCollection->addFieldToFilter('status', 'processing');
|
||||
|
||||
$order = $this->rmaManagement->getOrder($rma);
|
||||
|
||||
foreach ($rmaQueueCollection as $rmaQueue) {
|
||||
if ($rmaQueue->getOrderIncrementId() == $order->getRealorderId()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$result = $proceed($rma);
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user