diff --git a/docs/lists/ch07/07-06.txt b/docs/lists/ch07/07-06.txt new file mode 100644 index 0000000..f8e4c90 --- /dev/null +++ b/docs/lists/ch07/07-06.txt @@ -0,0 +1,50 @@ +setName('cs:inquiry:notify-unprocessed') + ->setDescription('未処理お問い合わせ一覧を通知') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $container = $this->getContainer(); + + $em = $container->get('doctrine')->getManager(); + $inquiryRepository = $em->getRepository('AppBundle:Inquiry'); + + $inquiryList = $inquiryRepository->findUnprocessed(); + + if (count($inquiryList) > 0) { + $templating = $container->get('templating'); + + $message = \Swift_Message::newInstance() + ->setSubject('[CS] 未処理お問い合わせ通知') + ->setFrom('webmaster@example.com') + ->setTo('admin@example.com') + ->setBody( + $templating->render( + 'mail/admin_unprocessedInquiryList.txt.twig', + ['inquiryList' => $inquiryList] + ) + ); + + $container->get('mailer')->send($message); + + $output->writeln(count($inquiryList) . "件の未処理を通知"); + } else { + $output->writeln("未処理なし"); + } + } +} diff --git a/src/AppBundle/Command/NotifyUnprocessedInquiryCommand.php b/src/AppBundle/Command/NotifyUnprocessedInquiryCommand.php new file mode 100644 index 0000000..f8e4c90 --- /dev/null +++ b/src/AppBundle/Command/NotifyUnprocessedInquiryCommand.php @@ -0,0 +1,50 @@ +setName('cs:inquiry:notify-unprocessed') + ->setDescription('未処理お問い合わせ一覧を通知') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $container = $this->getContainer(); + + $em = $container->get('doctrine')->getManager(); + $inquiryRepository = $em->getRepository('AppBundle:Inquiry'); + + $inquiryList = $inquiryRepository->findUnprocessed(); + + if (count($inquiryList) > 0) { + $templating = $container->get('templating'); + + $message = \Swift_Message::newInstance() + ->setSubject('[CS] 未処理お問い合わせ通知') + ->setFrom('webmaster@example.com') + ->setTo('admin@example.com') + ->setBody( + $templating->render( + 'mail/admin_unprocessedInquiryList.txt.twig', + ['inquiryList' => $inquiryList] + ) + ); + + $container->get('mailer')->send($message); + + $output->writeln(count($inquiryList) . "件の未処理を通知"); + } else { + $output->writeln("未処理なし"); + } + } +}