CostGdt.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace app\command;
  3. use app\v1\logic\tool\advert\GdtCostHourLogic;
  4. use Symfony\Component\Console\Command\Command;
  5. use Symfony\Component\Console\Attribute\AsCommand;
  6. use Symfony\Component\Console\Input\InputInterface;
  7. use Symfony\Component\Console\Input\InputOption;
  8. use Symfony\Component\Console\Input\InputArgument;
  9. use Symfony\Component\Console\Output\OutputInterface;
  10. #[AsCommand('cost:gdt', 'cost gdt')]
  11. class CostGdt extends Command
  12. {
  13. /**
  14. * 自定义脚本示例
  15. * @return void
  16. * 用法 php webman cost:gdt 2025-07-30,2025-07-31 54970254,60853999
  17. */
  18. protected function configure()
  19. {
  20. $this->addArgument('date', InputArgument::OPTIONAL, '日期范围');
  21. $this->addArgument('advertiser_ids', InputArgument::OPTIONAL, '需要拉取的广告账户');
  22. }
  23. /**
  24. * @param InputInterface $input
  25. * @param OutputInterface $output
  26. * @return int
  27. */
  28. protected function execute(InputInterface $input, OutputInterface $output): int
  29. {
  30. $date = $input->getArgument('date');
  31. $advertiser_ids = $input->getArgument('advertiser_ids');
  32. $params = [];
  33. if($date){
  34. $params['date'] = explode(',', $date);
  35. }
  36. if($advertiser_ids){
  37. $params['advertiser_ids'] = explode(',', $advertiser_ids);
  38. }
  39. $res = (new GdtCostHourLogic)->run($params);
  40. $output->writeln('gdt cost:' . $res);
  41. return self::SUCCESS;
  42. }
  43. }