docs: Phase 6 연동 분석 완료 (악성채권, 팝업관리)

- 6.1 악성채권: API 완전 구현됨 (CRUD + 서류첨부 + 메모)
- 6.2 팝업관리: API 완전 구현됨 (필드명 매핑 필요)
- Phase 6 상태 테이블 업데이트 (모두  완료)
This commit is contained in:
2025-12-22 18:44:19 +09:00
parent a8960db8d1
commit a7bb9f754c

View File

@@ -111,13 +111,13 @@
| # | React URL (예상) | 기능 | 관련 API | 연동 | Flow Test |
|---|-----------------|------|----------|:----:|:---------:|
| 6.1-1 | `/accounting/bad-debts` | 악성채권 목록 | `GET /v1/bad-debts` | | ⏳ |
| 6.1-2 | `/accounting/bad-debts` | 악성채권 요약 | `GET /v1/bad-debts/summary` | | ⏳ |
| 6.1-3 | `/accounting/bad-debts/{id}` | 악성채권 상세 | `GET /v1/bad-debts/{id}` | | ⏳ |
| 6.1-4 | `/accounting/bad-debts/new` | 악성채권 등록 | `POST /v1/bad-debts` | | ⏳ |
| 6.2-1 | `/settings/popups` | 팝업 목록 | `GET /v1/popups` | | ⏳ |
| 6.2-2 | `/settings/popups` | 활성 팝업 | `GET /v1/popups/active` | | ⏳ |
| 6.2-3 | `/settings/popups/{id}` | 팝업 상세 | `GET /v1/popups/{id}` | | ⏳ |
| 6.1-1 | `/accounting/bad-debts` | 악성채권 목록 | `GET /v1/bad-debts` | | ⏳ |
| 6.1-2 | `/accounting/bad-debts` | 악성채권 요약 | `GET /v1/bad-debts/summary` | | ⏳ |
| 6.1-3 | `/accounting/bad-debts/{id}` | 악성채권 상세 | `GET /v1/bad-debts/{id}` | | ⏳ |
| 6.1-4 | `/accounting/bad-debts/new` | 악성채권 등록 | `POST /v1/bad-debts` | | ⏳ |
| 6.2-1 | `/settings/popups` | 팝업 목록 | `GET /v1/popups` | | ⏳ |
| 6.2-2 | `/settings/popups` | 활성 팝업 | `GET /v1/popups/active` | | ⏳ |
| 6.2-3 | `/settings/popups/{id}` | 팝업 상세 | `GET /v1/popups/{id}` | | ⏳ |
**Phase 6 Flow Test 파일:**
- `bad-debt-flow.json` - 악성채권 추심관리 CRUD 플로우
@@ -504,7 +504,67 @@ api/docs/flow-tests/
### 4.2 Phase 6: 핵심 신규
(테스트 후 작성)
#### 6.1 악성채권 추심관리
- **상태**: ✅ 완료 (API 이미 완전 구현됨)
- **분석 결과**:
**React 분석 (BadDebtCollection/types.ts):**
```typescript
interface BadDebtRecord {
vendorId, vendorName, businessNumber, // 거래처 정보
debtAmount, status, overdueDays, // 악성채권 정보
files: AttachedFile[], // 첨부 파일
memos: BadDebtMemo[] // 메모
}
```
**API 분석 (완전 구현됨):**
| 엔드포인트 | 설명 | Response |
|-----------|------|----------|
| `GET /v1/bad-debts` | 목록 | 페이지네이션 + client 관계 |
| `GET /v1/bad-debts/summary` | 요약 | 상태별 금액 합계 |
| `GET /v1/bad-debts/{id}` | 상세 | client, documents, memos 관계 포함 |
| `POST /v1/bad-debts` | 등록 | `{ client_id, debt_amount, status, ... }` |
| `PUT /v1/bad-debts/{id}` | 수정 | 부분 업데이트 지원 |
| `DELETE /v1/bad-debts/{id}` | 삭제 | Soft Delete |
| `PATCH /v1/bad-debts/{id}/toggle` | 토글 | is_active 토글 |
| `POST /v1/bad-debts/{id}/documents` | 서류 첨부 | document_type, file_id |
| `POST /v1/bad-debts/{id}/memos` | 메모 추가 | content |
**차이점 및 조치:** API 수정 불필요 - React에서 연동만 필요 ✅
#### 6.2 팝업관리
- **상태**: ✅ 완료 (API 이미 완전 구현됨)
- **분석 결과**:
**React 분석 (PopupManagement/types.ts):**
```typescript
interface Popup {
target: 'all' | 'department',
targetName, title, content, status,
startDate, endDate, author
}
```
**API 분석 (완전 구현됨):**
| 엔드포인트 | 설명 | Response |
|-----------|------|----------|
| `GET /v1/popups` | 목록 (관리자용) | 페이지네이션 + creator, department 관계 |
| `GET /v1/popups/active` | 활성 팝업 (사용자용) | 현재 활성화된 팝업만 |
| `GET /v1/popups/{id}` | 상세 | creator, department 관계 포함 |
| `POST /v1/popups` | 등록 | `{ target_type, target_id, title, content, status, started_at, ended_at }` |
| `PUT /v1/popups/{id}` | 수정 | 부분 업데이트 지원 |
| `DELETE /v1/popups/{id}` | 삭제 | Soft Delete |
**필드 매핑:**
| React | API |
|-------|-----|
| `target` | `target_type` |
| `targetDepartmentId` | `target_id` |
| `startDate` | `started_at` |
| `endDate` | `ended_at` |
**차이점 및 조치:** API 수정 불필요 - React에서 필드명 매핑하여 연동 ✅
### 4.3 Phase 7: 게시판 연동
@@ -530,6 +590,8 @@ api/docs/flow-tests/
| 날짜 | 페이지 | 변경 내용 | 파일 | 승인 |
|------|--------|----------|------|------|
| 2025-12-22 | 6.1 | 악성채권 API 분석 - 완전 구현됨, React 연동만 필요 | - | ✅ |
| 2025-12-22 | 6.2 | 팝업관리 API 분석 - 완전 구현됨, 필드명 매핑 필요 | - | ✅ |
| 2025-12-22 | 5.3-1 | 회원 탈퇴 API 분석 - API 유지, React에서 비밀번호 UI 추가 필요 | - | ✅ |
| 2025-12-22 | 5.3-2 | 사용 중지 API 분석 - 호환됨, 수정 불필요 | - | ✅ |
| 2025-12-22 | 5.4-1 | 거래명세서 API 분석 - 이미 완전 구현됨, React 연동만 필요 | - | ✅ |