59 lines
998 B
PHP
59 lines
998 B
PHP
<?php
|
|
|
|
namespace App\Jobs;
|
|
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Foundation\Bus\Dispatchable;
|
|
use Illuminate\Queue\InteractsWithQueue;
|
|
use RuLong\Order\Models\Order;
|
|
|
|
/**
|
|
* 自动关闭订单
|
|
*/
|
|
class ClosedOrder implements ShouldQueue
|
|
{
|
|
use Dispatchable, InteractsWithQueue;
|
|
|
|
/**
|
|
* 队列名称
|
|
* @var string
|
|
*/
|
|
public $queue = 'ORDER';
|
|
|
|
/**
|
|
* 队列执行 延迟时间
|
|
* @var integer
|
|
*/
|
|
public $delay = 1800;
|
|
|
|
/**
|
|
* 最大尝试次数
|
|
* @var integer
|
|
*/
|
|
public $tries = 1;
|
|
|
|
/**
|
|
* 脚本超时时间
|
|
* @var integer
|
|
*/
|
|
public $timeout = 10;
|
|
|
|
protected $order;
|
|
|
|
public function __construct(Order $order)
|
|
{
|
|
$this->order = $order;
|
|
}
|
|
|
|
public function handle()
|
|
{
|
|
$order_curr = Order::find($this->order->id);
|
|
if ($order_curr->canClose()) {
|
|
$this->order->close();
|
|
} else {
|
|
return false;
|
|
}
|
|
|
|
}
|
|
}
|