Files
sam-docs/changes/20260122_loan_dashboard_api.md
권혁성 b7e3c187a8 docs: Phase 1.2 가지급금 대시보드 API 완료
- 계획 문서 상태 업데이트 (2/12, 17%)
- 변경 내용 문서 추가

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-22 22:39:53 +09:00

2.7 KiB

변경 내용 요약

날짜: 2026-01-22 작업자: Claude Code 계획 문서: docs/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건, 미정산 우선 정렬)

응답 구조:

[
    '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

신규 액션:

public function dashboard(): JsonResponse

3. api/routes/api.php

신규 라우트:

Route::get('/dashboard', [LoanController::class, 'dashboard'])
    ->name('v1.loans.dashboard');

4. LoanApi.php (Swagger)

신규 스키마:

  • LoanDashboard - 대시보드 응답 전체 구조

신규 엔드포인트:

  • GET /api/v1/loans/dashboard

테스트 체크리스트

  • Pint 코드 스타일 검증 통과
  • 라우트 등록 확인 (php artisan route:list)
  • Swagger 문서 생성 완료
  • API 호출 테스트 (Swagger UI)
  • 프론트엔드 연동 테스트

⚠️ 배포 시 주의사항

특이사항 없음 (DB 스키마 변경 없음)

🔗 관련 문서

  • 계획 문서: docs/plans/card-management-section-plan.md
  • Phase 1.1 변경: docs/changes/20260122_card_transaction_dashboard_api.md
  • 기존 API 문서: api/app/Swagger/v1/LoanApi.php