Files
ai-web/app/Http/Controllers/Admin/FeedbackController.php

48 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2026-02-12 13:06:12 +08:00
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\FeedbackEntry;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class FeedbackController extends Controller
{
public function index(Request $request): View
{
$builder = FeedbackEntry::query()->latest('id');
if ($request->filled('type')) {
$builder->where('feedback_type', (string) $request->string('type'));
}
if ($request->filled('status')) {
$builder->where('status', (string) $request->string('status'));
}
return view('admin.feedback.index', [
'items' => $builder->paginate(30)->withQueryString(),
'filters' => $request->only(['type', 'status']),
]);
}
public function updateStatus(FeedbackEntry $feedback, Request $request): RedirectResponse
{
$status = (string) $request->input('status', 'new');
if (!in_array($status, ['new', 'reviewing', 'done'], true)) {
$status = 'new';
}
$feedback->update(['status' => $status]);
return redirect()
->route('admin.feedback.index')
->with('status', '反馈状态已更新');
}
}