CostGdtVideo.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace app\command;
  3. use app\v1\logic\tool\advertCost\GdtCostVideoLogic;
  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_video', 'cost gdt_video')]
  11. class CostGdtVideo extends Command
  12. {
  13. /**
  14. * 自定义脚本示例
  15. * @return void
  16. */
  17. protected function configure()
  18. {
  19. // 用法示例 php webman cost:gdt_video date pmid advertiser_ids
  20. // php webman cost:gdt_video 2025-07-30,2025-07-31 0 54970254,60853999
  21. $this->addArgument('date', InputArgument::OPTIONAL, '日期范围');
  22. $this->addArgument('pmid', InputArgument::OPTIONAL, '需要拉取的API配置ID');
  23. $this->addArgument('advertiser_ids', InputArgument::OPTIONAL, '需要拉取的广告账户');
  24. }
  25. /**
  26. * @param InputInterface $input
  27. * @param OutputInterface $output
  28. * @return int
  29. */
  30. protected function execute(InputInterface $input, OutputInterface $output): int
  31. {
  32. $ydate = date('Y-m-d', strtotime('-1 day'));
  33. $date = $input->getArgument('date');
  34. $date = $date ?: $ydate;
  35. $pmid = (int)$input->getArgument('pmid');
  36. $advertiserIds = $input->getArgument('advertiser_ids');
  37. $params = [];
  38. if($date){
  39. $params['date'] = explode(',', $date);
  40. }
  41. if($pmid){
  42. $params['pmid'] = $pmid;
  43. }
  44. if($advertiserIds){
  45. $params['advertiser_ids'] = explode(',', $advertiserIds);
  46. }
  47. $output->writeln("\ngdt cost sta:" . json_encode($params, JSON_UNESCAPED_UNICODE));
  48. $res = (new GdtCostVideoLogic)->run($params);
  49. $output->writeln("\ngdt cost end:" . $res);
  50. return self::SUCCESS;
  51. }
  52. }