70 lines
2.6 KiB
PHP
70 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace Stemcell\Sales\Controller\Adminhtml\Order;
|
|
|
|
use Magento\Backend\App\Action;
|
|
use Magento\Framework\App\Action\HttpGetActionInterface;
|
|
use Magento\Framework\App\Response\Http\FileFactory;
|
|
use Magento\Framework\Controller\Result\JsonFactory;
|
|
use Magento\Framework\Controller\Result\RawFactory;
|
|
use Magento\Framework\Registry;
|
|
use Magento\Framework\Translate\InlineInterface;
|
|
use Magento\Framework\View\Result\LayoutFactory;
|
|
use Magento\Framework\View\Result\PageFactory;
|
|
use Magento\Sales\Api\OrderManagementInterface;
|
|
use Magento\Sales\Api\OrderRepositoryInterface;
|
|
use Magento\Sales\Model\Order;
|
|
use Psr\Log\LoggerInterface;
|
|
use Stemcell\Sales\Model\OrderStatus;
|
|
|
|
class Review extends \Magento\Sales\Controller\Adminhtml\Order implements HttpGetActionInterface
|
|
{
|
|
const ADMIN_RESOURCE = 'Magento_Sales::sales_order';
|
|
|
|
public function __construct(
|
|
Action\Context $context,
|
|
Registry $coreRegistry,
|
|
FileFactory $fileFactory,
|
|
InlineInterface $translateInline,
|
|
PageFactory $resultPageFactory,
|
|
JsonFactory $resultJsonFactory,
|
|
LayoutFactory $resultLayoutFactory,
|
|
RawFactory $resultRawFactory,
|
|
OrderManagementInterface $orderManagement,
|
|
OrderRepositoryInterface $orderRepository,
|
|
LoggerInterface $logger
|
|
)
|
|
{
|
|
parent::__construct($context, $coreRegistry, $fileFactory, $translateInline, $resultPageFactory, $resultJsonFactory, $resultLayoutFactory, $resultRawFactory, $orderManagement, $orderRepository, $logger);
|
|
}
|
|
|
|
public function execute()
|
|
{
|
|
$resultRedirect = $this->resultRedirectFactory->create();
|
|
|
|
$order = $this->_initOrder();
|
|
if ($order) {
|
|
try {
|
|
$this->orderManagement->setState(
|
|
$order,
|
|
Order::STATE_PROCESSING,
|
|
OrderStatus::reviewed->name,
|
|
'',
|
|
null,
|
|
false
|
|
);
|
|
|
|
$this->orderRepository->save($order);
|
|
$this->messageManager->addSuccessMessage(__('订单已审核.'));
|
|
} catch (\Magento\Framework\Exception\LocalizedException $e) {
|
|
$this->messageManager->addErrorMessage($e->getMessage());
|
|
} catch (\Exception $e) {
|
|
$this->messageManager->addErrorMessage(__('订单审核失败'));
|
|
$this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e);
|
|
}
|
|
return $resultRedirect->setPath('sales/order/view', ['order_id' => $order->getId()]);
|
|
}
|
|
return $resultRedirect->setPath('sales/*/');
|
|
}
|
|
}
|