# 변경 내용 요약 **날짜:** 2026-01-22 **작업자:** Claude Code **계획 문서:** docs/dev_plans/card-management-section-plan.md **Phase:** 1.2 가지급금 대시보드 API 개발 ## 📋 변경 개요 CEO 대시보드 카드/가지급금 관리 섹션(cm2)의 모달 팝업용 가지급금 대시보드 API 엔드포인트 신규 추가. 기존 summary 및 calculateInterest 로직을 활용하여 요약 데이터(미정산 총액, 인정이자, 미정산 건수)와 최근 가지급금 목록을 제공. ## 📁 수정된 파일 - `api/app/Services/LoanService.php` - dashboard() 메서드 추가 - `api/app/Http/Controllers/Api/V1/LoanController.php` - dashboard() 액션 추가 - `api/routes/api.php` - /dashboard 라우트 등록 - `api/app/Swagger/v1/LoanApi.php` - 대시보드 스키마 및 엔드포인트 문서화 ## 🔧 상세 변경 사항 ### 1. LoanService.php **신규 메서드:** - `dashboard()` - 대시보드 전체 데이터 반환 - 기존 `summary()` 호출하여 미정산 총액, 건수 획득 - 기존 `calculateInterest()` 호출하여 인정이자 계산 - 가지급금 목록 (최근 10건, 미정산 우선 정렬) **응답 구조:** ```php [ 'summary' => [ 'total_outstanding' => float, // 미정산 가지급금 총액 'recognized_interest' => float, // 인정이자 (연 4.6%) 'outstanding_count' => int, // 미정산 건수 ], 'loans' => [ [ 'id' => int, 'loan_date' => string, // Y-m-d 'user_name' => string, 'category' => string, // 카드/계좌 'amount' => float, 'status' => string, // outstanding/settled/partial 'content' => string, // 목적 ], // ... 최대 10건 ], ] ``` ### 2. LoanController.php **신규 액션:** ```php public function dashboard(): JsonResponse ``` ### 3. api/routes/api.php **신규 라우트:** ```php Route::get('/dashboard', [LoanController::class, 'dashboard']) ->name('v1.loans.dashboard'); ``` ### 4. LoanApi.php (Swagger) **신규 스키마:** - `LoanDashboard` - 대시보드 응답 전체 구조 **신규 엔드포인트:** - `GET /api/v1/loans/dashboard` ## ✅ 테스트 체크리스트 - [x] Pint 코드 스타일 검증 통과 - [x] 라우트 등록 확인 (php artisan route:list) - [x] Swagger 문서 생성 완료 - [ ] API 호출 테스트 (Swagger UI) - [ ] 프론트엔드 연동 테스트 ## ⚠️ 배포 시 주의사항 특이사항 없음 (DB 스키마 변경 없음) ## 🔗 관련 문서 - 계획 문서: `docs/dev_plans/card-management-section-plan.md` - Phase 1.1 변경: `docs/changes/20260122_card_transaction_dashboard_api.md` - 기존 API 문서: `api/app/Swagger/v1/LoanApi.php`