CloseOrderJob.php 751 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Jobs;
  3. use App\Models\DepositOrder;
  4. use Carbon\Carbon;
  5. use Illuminate\Database\Eloquent\Model;
  6. class CloseOrderJob extends Job
  7. {
  8. protected $model = '';
  9. public $tries = 5;
  10. /**
  11. * Create a new job instance.
  12. *
  13. * @return void
  14. */
  15. public function __construct(Model $model, Carbon $delay)
  16. {
  17. $this->model = $model;
  18. // 设置延迟的时间,delay() 方法的参数代表多少秒之后执行
  19. $this->delay($delay);
  20. }
  21. /**
  22. * Execute the job.
  23. *
  24. * @return void
  25. */
  26. public function handle()
  27. {
  28. if ((int)$this->model->pay_status === DepositOrder::PAY_STATUS_OK) {
  29. return;
  30. }
  31. $this->model->delete();
  32. }
  33. }