From b992886fca87d3b7d1af70aba8367aafa07958bf Mon Sep 17 00:00:00 2001 From: kent Date: Sat, 27 Dec 2025 20:50:58 +0900 Subject: [PATCH] =?UTF-8?q?feat(mng):=20=EA=B3=A0=EA=B0=9D=EC=84=BC?= =?UTF-8?q?=ED=84=B0=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /customer-center 라우트 신규 생성 - 활성화된 시스템 게시판만 표시 - 테이블 컬럼: ID, 유형, 코드, 게시판명, 게시글 수, 생성일 - 관리 기능(구분, 필드, 상태, 액션) 제외한 읽기 전용 뷰 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../Api/Admin/CustomerCenterController.php | 26 +++++++ .../Controllers/CustomerCenterController.php | 21 ++++++ .../views/customer-center/index.blade.php | 44 ++++++++++++ .../customer-center/partials/table.blade.php | 71 +++++++++++++++++++ routes/api.php | 4 ++ routes/web.php | 4 ++ 6 files changed, 170 insertions(+) create mode 100644 app/Http/Controllers/Api/Admin/CustomerCenterController.php create mode 100644 app/Http/Controllers/CustomerCenterController.php create mode 100644 resources/views/customer-center/index.blade.php create mode 100644 resources/views/customer-center/partials/table.blade.php diff --git a/app/Http/Controllers/Api/Admin/CustomerCenterController.php b/app/Http/Controllers/Api/Admin/CustomerCenterController.php new file mode 100644 index 00000000..bf99a56b --- /dev/null +++ b/app/Http/Controllers/Api/Admin/CustomerCenterController.php @@ -0,0 +1,26 @@ +whereNull('tenant_id') // 시스템 게시판만 + ->where('is_active', true) // 활성화된 것만 + ->withCount('posts') // 게시글 수 + ->orderBy('created_at', 'desc') + ->paginate(15); + + return view('customer-center.partials.table', compact('boards')); + } +} diff --git a/app/Http/Controllers/CustomerCenterController.php b/app/Http/Controllers/CustomerCenterController.php new file mode 100644 index 00000000..9f76da94 --- /dev/null +++ b/app/Http/Controllers/CustomerCenterController.php @@ -0,0 +1,21 @@ + +
+

고객센터

+
+ + +
+ +
+
+
+
+@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/customer-center/partials/table.blade.php b/resources/views/customer-center/partials/table.blade.php new file mode 100644 index 00000000..0066233a --- /dev/null +++ b/resources/views/customer-center/partials/table.blade.php @@ -0,0 +1,71 @@ + +
+ + + + + + + + + + + + + + @forelse($boards as $board) + + + + + + + + + @empty + + + + @endforelse + +
ID유형코드게시판명게시글 수생성일
+ {{ $board->id }} + + @if($board->board_type) + + {{ $board->board_type }} + + @else + - + @endif + + {{ $board->board_code }} + +
{{ $board->name }}
+ @if($board->description) +
{{ $board->description }}
+ @endif +
+ {{ $board->posts_count }}건 + + {{ $board->created_at->format('Y-m-d') }} +
+ 등록된 게시판이 없습니다. +
+
+
+ + +@if($boards->hasPages()) +
+ {{ $boards->withQueryString()->links() }} +
+@endif diff --git a/routes/api.php b/routes/api.php index d75435e1..d913363f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,6 +1,7 @@ name('destroy'); }); + // 고객센터 API (활성화된 시스템 게시판 목록) + Route::get('/customer-center', [CustomerCenterController::class, 'index'])->name('customer-center.index'); + // 시스템 게시판 관리 API Route::prefix('boards')->name('boards.')->group(function () { // 고정 경로는 먼저 정의 diff --git a/routes/web.php b/routes/web.php index a4f07c4c..1afb162e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -4,6 +4,7 @@ use App\Http\Controllers\ArchivedRecordController; use App\Http\Controllers\Auth\LoginController; use App\Http\Controllers\BoardController; +use App\Http\Controllers\CustomerCenterController; use App\Http\Controllers\DailyLogController; use App\Http\Controllers\DepartmentController; use App\Http\Controllers\DevTools\ApiExplorerController; @@ -104,6 +105,9 @@ Route::get('/{id}/edit', [PermissionController::class, 'edit'])->name('edit'); }); + // 고객센터 (활성화된 시스템 게시판 목록) + Route::get('/customer-center', [CustomerCenterController::class, 'index'])->name('customer-center.index'); + // 시스템 게시판 관리 (Blade 화면만) Route::prefix('boards')->name('boards.')->group(function () { Route::get('/', [BoardController::class, 'index'])->name('index');