From a7bb9f754cc2cdbc4e1c52f6fd9826798ccce868 Mon Sep 17 00:00:00 2001 From: hskwon Date: Mon, 22 Dec 2025 18:44:19 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Phase=206=20=EC=97=B0=EB=8F=99=20?= =?UTF-8?q?=EB=B6=84=EC=84=9D=20=EC=99=84=EB=A3=8C=20(=EC=95=85=EC=84=B1?= =?UTF-8?q?=EC=B1=84=EA=B6=8C,=20=ED=8C=9D=EC=97=85=EA=B4=80=EB=A6=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 6.1 악성채권: API 완전 구현됨 (CRUD + 서류첨부 + 메모) - 6.2 팝업관리: API 완전 구현됨 (필드명 매핑 필요) - Phase 6 상태 테이블 업데이트 (모두 ✅ 완료) --- plans/react-api-integration-plan.md | 78 ++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/plans/react-api-integration-plan.md b/plans/react-api-integration-plan.md index 2711a8a..bf44b32 100644 --- a/plans/react-api-integration-plan.md +++ b/plans/react-api-integration-plan.md @@ -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 연동만 필요 | - | ✅ |