orderMailSender = $orderMailSender; $this->logger = $logger; } /** * @param Observer $observer * @return void */ public function execute(Observer $observer) { /** @var $orderInstance Order */ $orderInstance = $observer->getOrder(); $salespersonId = $orderInstance->getData('salesperson_id'); try { if ($salespersonId) { $salesperson = $this->salespersonRepository->get($salespersonId); $this->orderMailSender->setSalesperson($salesperson)->send($orderInstance); } else { $this->logger->critical(sprintf('发送给销售的邮件失败,原因:订单%s的salesperson_id为空', $orderInstance->getEntityId())); } } catch (\Exception $e) { $this->logger->critical('发送给销售的邮件失败,原因:'.$e->getMessage(), $e->getTrace()); } } }