- 계획 문서 상태 업데이트 (2/12, 17%) - 변경 내용 문서 추가 Co-Authored-By: Claude <noreply@anthropic.com>
83 lines
2.7 KiB
Markdown
83 lines
2.7 KiB
Markdown
# 변경 내용 요약
|
|
|
|
**날짜:** 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건, 미정산 우선 정렬)
|
|
|
|
**응답 구조:**
|
|
```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/plans/card-management-section-plan.md`
|
|
- Phase 1.1 변경: `docs/changes/20260122_card_transaction_dashboard_api.md`
|
|
- 기존 API 문서: `api/app/Swagger/v1/LoanApi.php` |