BaseTotal.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace app\process\dataReport;
  3. use app\v1\logic\tool\dataReport\BaseTotalDayDataReportLogic;
  4. use app\v1\logic\tool\dataReport\BaseTotalHourDataReportLogic;
  5. use Workerman\Crontab\Crontab;
  6. /**
  7. * 基础数据统计
  8. */
  9. class BaseTotal
  10. {
  11. public function onWorkerStart(): void
  12. {
  13. // 每5分钟执行一次
  14. new Crontab('0 */5 * * * *', function() {
  15. (new BaseTotalDayDataReportLogic())->run();
  16. });
  17. // 每5分钟执行一次
  18. new Crontab('0 */5 * * * *', function() {
  19. (new BaseTotalHourDataReportLogic())->run();
  20. });
  21. }
  22. // {"type":"day","date":["2025-06-25","2025-06-26"]}
  23. public function run($args)
  24. {
  25. $params = $args ? json_decode($args, true) : [];
  26. if(!empty($params["type"]) && $params["type"] == "day"){
  27. return (new BaseTotalDayDataReportLogic())->run($params);
  28. }
  29. if(!empty($params["type"]) && $params["type"] == "hour"){
  30. return (new BaseTotalHourDataReportLogic())->run($params);
  31. }
  32. return "无执行内容";
  33. }
  34. }