ERP API 개발 계획 Phase 3 진행상황 업데이트
- 가지급금(Loan) API Swagger 문서 완료 - 바로빌 연동 API 완료 표시 (테이블, 모델, 서비스, 12개 엔드포인트)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> **작성일**: 2025-12-17
|
||||
> **기준 문서**: SAM_ERP_Storyboard_D0.8_251216
|
||||
> **상태**: ✅ Phase 1 완료 | ✅ Phase 2 완료 (3/3: 전자결재 + 급여관리 + 대시보드)
|
||||
> **상태**: ✅ Phase 1 완료 | ✅ Phase 2 완료 | 🟡 Phase 3 진행중 (3/4: AI리포트 + 가지급금 + 바로빌)
|
||||
|
||||
---
|
||||
|
||||
@@ -437,29 +437,127 @@
|
||||
- [x] 테이블 생성 (`loans`) - 2025-12-18
|
||||
- [x] 서비스 구현 (인정이자 계산) - LoanService
|
||||
- [x] API 구현 - LoanController, FormRequest 5개, 9개 라우트
|
||||
- [ ] Swagger 문서 - 별도 작성 예정
|
||||
- [x] Swagger 문서 - `LoanApi.php` (스키마 7개, 엔드포인트 9개)
|
||||
|
||||
### 3.8 바로빌 연동
|
||||
- [ ] 테이블 생성 (`tax_invoices`)
|
||||
- [ ] 외부 API 연동 서비스
|
||||
- [ ] API 구현
|
||||
- [ ] Swagger 문서
|
||||
### 3.8 바로빌 연동 ✅
|
||||
> **완료일**: 2025-12-18 | **커밋**: `8ad4d7c`
|
||||
|
||||
- [x] **테이블 생성**
|
||||
- [x] `barobill_settings` 마이그레이션 (테넌트별 바로빌 설정, 인증서 암호화)
|
||||
- [x] `tax_invoices` 마이그레이션 (세금계산서 발행 내역)
|
||||
|
||||
- [x] **모델 생성**
|
||||
- [x] `BarobillSetting` 모델 (cert_key 암호화 - Laravel Crypt)
|
||||
- [x] `TaxInvoice` 모델 (5개 상태, 3개 유형, 공급자/공급받는자 정보)
|
||||
|
||||
- [x] **서비스 구현**
|
||||
- [x] `BarobillService` 생성 (바로빌 API 연동, 테스트/운영 환경 구분)
|
||||
- [x] `TaxInvoiceService` 생성 (CRUD, 발행, 취소, 상태조회, 통계)
|
||||
|
||||
- [x] **API 엔드포인트** (12개)
|
||||
- [x] `GET /v1/barobill-settings` - 바로빌 설정 조회
|
||||
- [x] `PUT /v1/barobill-settings` - 바로빌 설정 저장
|
||||
- [x] `POST /v1/barobill-settings/test-connection` - 연동 테스트
|
||||
- [x] `GET /v1/tax-invoices` - 목록 조회
|
||||
- [x] `POST /v1/tax-invoices` - 세금계산서 생성
|
||||
- [x] `GET /v1/tax-invoices/summary` - 요약 통계
|
||||
- [x] `GET /v1/tax-invoices/{id}` - 상세 조회
|
||||
- [x] `PUT /v1/tax-invoices/{id}` - 수정
|
||||
- [x] `DELETE /v1/tax-invoices/{id}` - 삭제
|
||||
- [x] `POST /v1/tax-invoices/{id}/issue` - 발행
|
||||
- [x] `POST /v1/tax-invoices/{id}/cancel` - 취소
|
||||
- [x] `GET /v1/tax-invoices/{id}/check-status` - 국세청 전송 상태
|
||||
|
||||
- [x] **Swagger 문서**
|
||||
- [x] `BarobillSettingApi.php` 작성
|
||||
- [x] `TaxInvoiceApi.php` 작성
|
||||
|
||||
- [ ] **테스트**
|
||||
- [ ] Feature 테스트 작성
|
||||
- [ ] 수동 API 테스트
|
||||
|
||||
---
|
||||
|
||||
## 💼 Phase 4: SaaS 기능 (별도 일정)
|
||||
|
||||
### 3.6 구독/결제 관리
|
||||
- [ ] 테이블 생성 (`subscriptions`, `payments`)
|
||||
- [ ] PG 연동 서비스
|
||||
- [ ] API 구현
|
||||
- [ ] Swagger 문서
|
||||
> ⚠️ **기존 코드베이스 분석 결과 반영** (2025-12-18)
|
||||
> - 구독/결제: 이미 모델 존재 → 신규 테이블 불필요, API 확장만 필요
|
||||
> - 고객센터: mng 게시판 기능으로 대체 가능 → 신규 개발 불필요
|
||||
|
||||
### 3.7 고객센터
|
||||
- [ ] 테이블 생성 (`support_tickets`, `faqs`)
|
||||
- [ ] 서비스 구현
|
||||
- [ ] API 구현
|
||||
- [ ] Swagger 문서
|
||||
### 3.6 구독/결제 관리 (기존 모델 확장)
|
||||
|
||||
**기존 구성요소 (이미 존재):**
|
||||
| 항목 | 위치 | 상태 |
|
||||
|------|------|------|
|
||||
| `Plan` 모델 | `api/app/Models/Tenants/Plan.php` | ✅ 완성 |
|
||||
| `Subscription` 모델 | `api/app/Models/Tenants/Subscription.php` | ✅ 완성 |
|
||||
| `Payment` 모델 | `api/app/Models/Tenants/Payment.php` | ✅ 완성 |
|
||||
| 테넌트 구독 조회 | `api/admin/tenants/{id}/subscription` | ✅ 라우트 존재 |
|
||||
| 관리 페이지 | `public/tenant/subscription/` | ✅ 3개 파일 |
|
||||
|
||||
**기존 스키마:**
|
||||
```php
|
||||
// Plan: name, code, description, price, billing_cycle, features(json), is_active
|
||||
// Subscription: tenant_id, plan_id, started_at, ended_at, status
|
||||
// Payment: subscription_id, amount, payment_method, transaction_id, paid_at, status, memo
|
||||
```
|
||||
|
||||
**추가 개발 필요 (API 확장):**
|
||||
- [ ] **Plan API** (관리자용)
|
||||
- [ ] `GET /v1/admin/plans` - 요금제 목록
|
||||
- [ ] `POST /v1/admin/plans` - 요금제 등록
|
||||
- [ ] `PUT /v1/admin/plans/{id}` - 요금제 수정
|
||||
- [ ] `DELETE /v1/admin/plans/{id}` - 요금제 삭제
|
||||
|
||||
- [ ] **Subscription API** (테넌트용)
|
||||
- [ ] `GET /v1/subscriptions/current` - 현재 구독 조회
|
||||
- [ ] `POST /v1/subscriptions` - 구독 신청
|
||||
- [ ] `PUT /v1/subscriptions/{id}` - 구독 변경
|
||||
- [ ] `POST /v1/subscriptions/{id}/cancel` - 구독 해지
|
||||
|
||||
- [ ] **Payment API**
|
||||
- [ ] `GET /v1/payments` - 결제 내역
|
||||
- [ ] `POST /v1/payments` - 결제 처리 (PG 연동)
|
||||
- [ ] `GET /v1/payments/{id}` - 결제 상세
|
||||
|
||||
- [ ] **PG 연동** (별도 검토)
|
||||
- [ ] 토스페이먼츠 / 아임포트 연동
|
||||
- [ ] 자동결제(정기결제) 구현
|
||||
|
||||
- [ ] **Swagger 문서**
|
||||
- [ ] `PlanApi.php`, `SubscriptionApi.php`, `PaymentApi.php`
|
||||
|
||||
### 3.7 고객센터 (mng 게시판 활용)
|
||||
|
||||
**기존 구성요소 (이미 존재 - mng):**
|
||||
| 항목 | 위치 | 상태 |
|
||||
|------|------|------|
|
||||
| `Board` 모델 | `mng/app/Models/Boards/Board.php` | ✅ 완성 |
|
||||
| `Post` 모델 | `mng/app/Models/Boards/Post.php` | ✅ 완성 |
|
||||
| `BoardSetting` | `mng/app/Models/Boards/BoardSetting.php` | ✅ 동적 필드 지원 |
|
||||
| `BoardService` | `mng/app/Services/BoardService.php` | ✅ 520줄 |
|
||||
| API 라우트 | `api/admin/boards/*` | ✅ 20개+ 라우트 |
|
||||
|
||||
**게시판 구조:**
|
||||
- `is_system = true` → 시스템 전체용 (공지사항, FAQ)
|
||||
- `is_system = false` → 테넌트별 개별 게시판 (문의게시판)
|
||||
- 템플릿 기반 생성 지원 (`createBoardFromTemplate`)
|
||||
|
||||
**추가 개발 필요 (템플릿 추가):**
|
||||
- [ ] **게시판 템플릿 정의** (`config/board_templates.php`)
|
||||
- [ ] `faq` - FAQ 게시판 템플릿
|
||||
- [ ] `inquiry` - 1:1 문의 템플릿
|
||||
- [ ] `notice` - 공지사항 템플릿
|
||||
|
||||
- [ ] **API 라우트 확장** (api 프로젝트)
|
||||
- [ ] `GET /v1/boards/{code}/posts` - 게시글 목록 (사용자용)
|
||||
- [ ] `POST /v1/boards/{code}/posts` - 게시글 작성
|
||||
- [ ] `GET /v1/boards/{code}/posts/{id}` - 게시글 상세
|
||||
|
||||
- [ ] **Swagger 문서**
|
||||
- [ ] `BoardApi.php` (사용자용 API)
|
||||
|
||||
**참고:** mng의 `BoardService`는 시스템/테넌트 게시판 모두 지원하므로 신규 테이블 생성 불필요
|
||||
|
||||
---
|
||||
|
||||
@@ -563,6 +661,30 @@
|
||||
- Google Gemini API 연동
|
||||
- 비즈니스 데이터 수집 (매출/매입/입출금/미수금/카드/계좌)
|
||||
|
||||
- [x] **가지급금 관리 API 구현 완료** (커밋: `9b3dd2f`)
|
||||
- 마이그레이션 1개 (`loans`)
|
||||
- 모델 1개 (`Loan`)
|
||||
- 서비스 1개 (`LoanService` - 인정이자 계산 포함)
|
||||
- 컨트롤러 1개, FormRequest 5개
|
||||
- API 엔드포인트 9개
|
||||
- Swagger 문서 (`LoanApi.php`)
|
||||
|
||||
- [x] **바로빌 세금계산서 연동 API 구현 완료** (커밋: `8ad4d7c`)
|
||||
- 마이그레이션 2개 (`barobill_settings`, `tax_invoices`)
|
||||
- 모델 2개 (`BarobillSetting`, `TaxInvoice`)
|
||||
- 서비스 2개 (`BarobillService`, `TaxInvoiceService`)
|
||||
- 컨트롤러 2개, FormRequest 6개
|
||||
- API 엔드포인트 12개
|
||||
- Swagger 문서 2개 (`BarobillSettingApi.php`, `TaxInvoiceApi.php`)
|
||||
- 바로빌 API 연동 (테스트/운영 환경 구분)
|
||||
- 인증서 키 암호화 (Laravel Crypt)
|
||||
- 세금계산서 발행/취소/상태조회/통계
|
||||
|
||||
- [x] **Phase 4 계획 수정** (기존 코드베이스 분석 반영)
|
||||
- 구독/결제: `Plan`, `Subscription`, `Payment` 모델 이미 존재 → 신규 테이블 불필요
|
||||
- 고객센터: mng 게시판 기능(`Board`, `Post`, `BoardService`)으로 대체 가능
|
||||
- 계획 문서 수정: 신규 개발 → 기존 모델 확장으로 변경
|
||||
|
||||
### YYYY-MM-DD
|
||||
- [ ] (작업 내용 기록)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user