HourData.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * HourData.php UTF-8
  4. * 时表数据生成
  5. *
  6. * @date : 2019/12/10 21:05
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : dengcongshuai <dcs@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace console\index\controller;
  13. use huomp\logic\data\HourArchiveLogic;
  14. use think\console\Command;
  15. use think\console\Input;
  16. use think\console\input\Option;
  17. use think\console\Output;
  18. class HourData extends Command {
  19. protected function configure() {
  20. $this->setName('hourdata')->setDescription('时表数据生成');
  21. $this->addOption('option', 'o', Option::VALUE_REQUIRED, 'choose task to do', '');
  22. $this->addOption('date', 'd', Option::VALUE_REQUIRED, 'choose date to do', '');
  23. $this->addOption('hour', 'hk', Option::VALUE_REQUIRED, 'choose hour to do', null);
  24. }
  25. /**
  26. * /www/wdlinux/php/bin/php /huosdk/mini/think hourdata
  27. *
  28. * @param Input $input
  29. * @param Output $output
  30. *
  31. * @return int|null|void
  32. */
  33. protected function execute(Input $input, Output $output) {
  34. $_hour_archive_logic = new HourArchiveLogic();
  35. $_task = $input->getOption('option');
  36. $_date = $input->getOption('date');
  37. $_hour = $input->getOption('hour');
  38. if ('archiveHour' == $_task) {
  39. $_time = time() - 3600;
  40. if (empty($_date)) {
  41. $_date = date('Y-m-d', $_time);
  42. }
  43. if (!isset($_hour)) {
  44. $_hour = date('H', $_time);
  45. }
  46. /* 玩家充值数据每时 */
  47. $_hour_archive_logic->archiveHour($_date, $_hour);
  48. // $_date = '2020-11-13';
  49. // for ($_i = 0; $_i < 70; $_i++) {
  50. // for ($_h = 0; $_h <= 23; $_h++) {
  51. // $_hour = $_h;
  52. // $_hour_archive_logic->archiveHour($_date, $_hour);
  53. // if ($_date == '2020-12-16' && $_hour == 14) {
  54. // exit;
  55. // }
  56. // }
  57. // $_date = date('Y-m-d', strtotime($_date) + 86400);
  58. // }
  59. }
  60. exit;
  61. }
  62. }