BaseTotal.php 994 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace app\process;
  3. use app\v1\logic\tool\BaseTotalDayLogic;
  4. use app\v1\logic\tool\BaseTotalHourLogic;
  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 BaseTotalDayLogic())->run();
  16. });
  17. // 每5分钟执行一次
  18. new Crontab('0 */5 * * * *', function() {
  19. (new BaseTotalHourLogic())->run();
  20. });
  21. }
  22. // {"type":"day","sdate":"2025-06-25","edate":"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 BaseTotalDayLogic())->run();
  28. }
  29. if(!empty($params["type"]) && $params["type"] == "hour"){
  30. return (new BaseTotalHourLogic())->run();
  31. }
  32. return "无执行内容";
  33. }
  34. }