diff --git a/app/Models/WorkOrder/Reply.php b/app/Models/WorkOrder/Reply.php index a6cb91a..8677b20 100644 --- a/app/Models/WorkOrder/Reply.php +++ b/app/Models/WorkOrder/Reply.php @@ -70,6 +70,7 @@ class Reply extends Model 'name', 'module_id', 'is_pending', + 'role' ]; protected static function boot() @@ -88,19 +89,27 @@ protected static function boot() throw_if($model->workOrder->isFailure(), CommonException::class, '工单还没有就绪。'); + // change work order status if (auth('sanctum')->check()) { - $model->user_id = auth()->id(); + $model->user_id = auth('sanctum')->id(); + $model->role = 'user'; $model->workOrder->status = 'user_replied'; - } - if (auth('module')->check() || auth('admin')->check()) { + } else if (auth('module')->check()) { $model->user_id = null; + $model->role = 'module'; $model->workOrder->status = 'replied'; broadcast(new UserEvent($model->user_id, 'work-order.replied', $model->workOrder)); + + } else if (auth('admin')->check()) { + $model->role = 'admin'; + } else { + $model->role = 'guest'; } + $model->workOrder->save(); }); diff --git a/database/migrations/2023_01_01_211259_add_role_to_work_order_replies_table.php b/database/migrations/2023_01_01_211259_add_role_to_work_order_replies_table.php new file mode 100644 index 0000000..35bfef7 --- /dev/null +++ b/database/migrations/2023_01_01_211259_add_role_to_work_order_replies_table.php @@ -0,0 +1,32 @@ +string('role')->default('user')->comment('回复角色')->after('module_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down(): void + { + Schema::table('work_order_replies', function (Blueprint $table) { + $table->dropColumn('role'); + }); + } +}; diff --git a/resources/views/admin/work-orders/show.blade.php b/resources/views/admin/work-orders/show.blade.php index 33738b9..605bfa2 100644 --- a/resources/views/admin/work-orders/show.blade.php +++ b/resources/views/admin/work-orders/show.blade.php @@ -15,17 +15,21 @@ @foreach($replies as $reply)