增加 修改状态
This commit is contained in:
parent
bafc660c11
commit
ef91809691
@ -110,11 +110,6 @@ public function isStopped(): bool
|
|||||||
return $this->status === 'stopped';
|
return $this->status === 'stopped';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isPending(): bool
|
|
||||||
{
|
|
||||||
return $this->status === 'pending';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isUnavailable(): bool
|
public function isUnavailable(): bool
|
||||||
{
|
{
|
||||||
return $this->status === 'unavailable';
|
return $this->status === 'unavailable';
|
||||||
@ -260,11 +255,6 @@ public function run(): bool
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isOverdue(): bool
|
|
||||||
{
|
|
||||||
return now()->gt($this->next_due_at);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function safeDelete(): bool
|
public function safeDelete(): bool
|
||||||
{
|
{
|
||||||
// 如果创建时间大于大于 1 小时
|
// 如果创建时间大于大于 1 小时
|
||||||
@ -378,11 +368,35 @@ public function cost(string $amount = null, $auto = true, $description = null):
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateOrDelete(): bool
|
public function changeStatus(string $status): bool
|
||||||
{
|
{
|
||||||
dispatch(new UpdateOrDeleteHostJob($this));
|
$is_user = auth()->guard('api')->check() || auth()->guard('web')->check();
|
||||||
|
|
||||||
return true;
|
if ($is_user) {
|
||||||
|
if ($this->isPending() || $this->isOverdue() || $this->status === 'locked' || $this->status === 'unavailable') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($status === 'running') {
|
||||||
|
return $this->run();
|
||||||
|
} elseif ($status === 'suspended') {
|
||||||
|
return $this->suspend();
|
||||||
|
} elseif ($status === 'stopped') {
|
||||||
|
return $this->stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isPending(): bool
|
||||||
|
{
|
||||||
|
return $this->status === 'pending';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isOverdue(): bool
|
||||||
|
{
|
||||||
|
return now()->gt($this->next_due_at);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function suspend(): bool
|
public function suspend(): bool
|
||||||
@ -393,4 +407,20 @@ public function suspend(): bool
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function stop(): bool
|
||||||
|
{
|
||||||
|
$this->update([
|
||||||
|
'status' => 'stopped',
|
||||||
|
]);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateOrDelete(): bool
|
||||||
|
{
|
||||||
|
dispatch(new UpdateOrDeleteHostJob($this));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user