diff --git a/app/Http/Controllers/Admin/ReplyController.php b/app/Http/Controllers/Admin/ReplyController.php index 84e61f4..0edcb12 100644 --- a/app/Http/Controllers/Admin/ReplyController.php +++ b/app/Http/Controllers/Admin/ReplyController.php @@ -25,7 +25,7 @@ public function store(Request $request, WorkOrder $work_order): RedirectResponse 'content' => 'required|string', ]); - if (!$work_order->isOpen()) { + if ($work_order->isFailure()) { return back()->with('error', '工单还未就绪。'); } diff --git a/app/Models/WorkOrder/WorkOrder.php b/app/Models/WorkOrder/WorkOrder.php index 62543f4..cfc1cb3 100644 --- a/app/Models/WorkOrder/WorkOrder.php +++ b/app/Models/WorkOrder/WorkOrder.php @@ -9,6 +9,7 @@ use App\Models\User; use App\Notifications\WorkOrder as WorkOrderNotification; use GeneaLabs\LaravelModelCaching\Traits\Cachable; +use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -83,13 +84,6 @@ protected static function boot() }); } - public function routeNotificationForMail(WorkOrderNotification $work_order): array - { - $user = $work_order->user; - - return [$user->email => $user->name]; - } - public function scopeThisModule($query) { return $query->where('module_id', auth('module')->id()); @@ -148,4 +142,16 @@ public function safeDelete(): bool return true; } + + public function routeNotificationForMail(WorkOrderNotification $work_order): array + { + $user = $this->user; + + return [$user->email => $user->name]; + } + + public function receivesBroadcastNotificationsOn(): string + { + return new PrivateChannel('users.' . $this->id); + } }