MovieOrderCommand.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace app\command;
  3. use app\common\repositories\movie\MovieRepository;
  4. use crmeb\services\ApiResponseService;
  5. use think\console\Command;
  6. use think\console\Input;
  7. use think\console\Output;
  8. use think\facade\Db;
  9. class MovieOrderCommand extends Command
  10. {
  11. protected function configure()
  12. {
  13. // 指令配置
  14. $this->setName('movie_order')->setDescription('电影-订单');
  15. }
  16. protected function execute(Input $input, Output $output)
  17. {
  18. $this->doMovieOrder();
  19. }
  20. /**
  21. * 电影-订单
  22. * @return void
  23. * @throws \think\db\exception\DataNotFoundException
  24. * @throws \think\db\exception\DbException
  25. * @throws \think\db\exception\ModelNotFoundException
  26. */
  27. private function doMovieOrder()
  28. {
  29. $tenMinute = MovieRepository::tenMinute; // 10分钟
  30. $time = time();
  31. /** @var MovieRepository $movieOrderRepository */
  32. $movieOrderRepository = app()->make(MovieRepository::class);
  33. $movieOrder = $movieOrderRepository->getOrderListAll([0]);
  34. foreach ($movieOrder as $key => $order) {
  35. $create_time = strtotime($order['create_time']) + $tenMinute;
  36. // 下单时间 + 10分钟 < 当前时间:表示订单超时
  37. if ($create_time < $time) {
  38. $update = ['status' => 3, 'update_time' => time()];
  39. Db::name('order_movie')->where(['order_id' => $order['order_id']])->update($update);
  40. }
  41. }
  42. }
  43. }