resultRedirectFactory->create(); if (!$this->isValidPostRequest()) { $this->messageManager->addErrorMessage(__('订单驳回失败.')); return $resultRedirect->setPath('sales/*/'); } $order = $this->_initOrder(); if ($order) { try { $this->orderManagement->setState( $order, Order::STATE_CANCELED, false, '', null, false ); $order->addCommentToStatusHistory($this->getRequest()->getPost('reason'),OrderStatus::rejected->name, true); $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/*/'); } }