103 lines
3.6 KiB
Markdown
103 lines
3.6 KiB
Markdown
|
|
# 영업파트너승인
|
||
|
|
|
||
|
|
## 개요
|
||
|
|
|
||
|
|
영업파트너승인은 신규 영업파트너 등록 신청을 검토하고 승인/반려를 처리하는 기능입니다.
|
||
|
|
본사 관리자 전용 페이지로, 신청자의 정보와 서류를 확인하고 일괄 처리할 수 있습니다.
|
||
|
|
|
||
|
|
- **라우트**: `GET /sales/managers/approvals`
|
||
|
|
- **미들웨어**: `auth`, `hq.member` + 관리자 권한 체크
|
||
|
|
- **UI 기술**: Blade + HTMX + Tailwind CSS
|
||
|
|
|
||
|
|
## 파일 구조
|
||
|
|
|
||
|
|
```
|
||
|
|
mng/
|
||
|
|
├── app/Http/Controllers/Sales/
|
||
|
|
│ └── SalesManagerController.php # 파트너관리와 동일 컨트롤러 (승인 메서드 포함)
|
||
|
|
├── app/Services/Sales/
|
||
|
|
│ └── SalesManagerService.php # approve(), reject() 로직
|
||
|
|
└── resources/views/sales/managers/
|
||
|
|
└── approvals.blade.php # 승인 관리 페이지
|
||
|
|
```
|
||
|
|
|
||
|
|
## 라우트
|
||
|
|
|
||
|
|
```php
|
||
|
|
// routes/web.php (sales prefix 그룹 내, resource 전에 정의)
|
||
|
|
GET /managers/approvals → approvals() 승인 목록 페이지
|
||
|
|
POST /managers/approvals/{id}/approve → approveFromList() 목록에서 승인
|
||
|
|
POST /managers/approvals/{id}/reject → rejectFromList() 목록에서 반려
|
||
|
|
```
|
||
|
|
|
||
|
|
## 컨트롤러
|
||
|
|
|
||
|
|
### SalesManagerController (승인 관련 메서드)
|
||
|
|
|
||
|
|
| 메서드 | HTTP | 설명 | 권한 |
|
||
|
|
|--------|------|------|------|
|
||
|
|
| `approvals()` | GET | 승인 대기 목록 페이지 | 관리자 전용 |
|
||
|
|
| `approveFromList()` | POST | 목록에서 승인 처리 | 관리자 전용 |
|
||
|
|
| `rejectFromList()` | POST | 목록에서 반려 처리 | 관리자 전용 |
|
||
|
|
| `approve()` | POST | 상세에서 승인 | - |
|
||
|
|
| `reject()` | POST | 상세에서 반려 | - |
|
||
|
|
|
||
|
|
### 승인 처리 흐름
|
||
|
|
|
||
|
|
```
|
||
|
|
영업파트너 등록 신청 (store)
|
||
|
|
↓
|
||
|
|
approval_status = 'pending' (Users 테이블)
|
||
|
|
↓
|
||
|
|
관리자 승인 목록에서 확인
|
||
|
|
├── approveFromList() → status = 'approved'
|
||
|
|
│ ├── approved_at 기록
|
||
|
|
│ └── approved_by 기록
|
||
|
|
│
|
||
|
|
└── rejectFromList() → status = 'rejected'
|
||
|
|
└── rejection_reason 저장 (필수)
|
||
|
|
```
|
||
|
|
|
||
|
|
### 응답 방식
|
||
|
|
|
||
|
|
```
|
||
|
|
HTMX 요청 → JsonResponse (success, message)
|
||
|
|
일반 요청 → Redirect (redirect back)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 뷰 구성
|
||
|
|
|
||
|
|
### approvals.blade.php
|
||
|
|
|
||
|
|
```
|
||
|
|
┌─ 페이지 헤더 ──────────────────────
|
||
|
|
│ 제목: "영업파트너 승인관리"
|
||
|
|
│
|
||
|
|
├─ 통계 카드 ────────────────────────
|
||
|
|
│ 승인 대기 | 오늘 승인 | 오늘 반려
|
||
|
|
│
|
||
|
|
├─ 검색/필터 영역 ──────────────────
|
||
|
|
│ 검색 (이름, 아이디, 이메일, 전화번호)
|
||
|
|
│
|
||
|
|
├─ 2분할 레이아웃 ──────────────────
|
||
|
|
│ ┌─ 좌: 승인 대기 ────────────┐ ┌─ 우: 승인 완료 ─────────────┐
|
||
|
|
│ │ 신청자명 | 역할 | 유치자 │ │ 파트너명 | 승인일 | 승인자 │
|
||
|
|
│ │ └─ [승인] [반려] 버튼 │ │ │
|
||
|
|
│ └────────────────────────────┘ └─────────────────────────────┘
|
||
|
|
│
|
||
|
|
└─ 상세 모달 ───────────────────────
|
||
|
|
파트너 정보 (이름, 아이디, 이메일, 전화)
|
||
|
|
계층 정보 (레벨, 추천인)
|
||
|
|
등록 서류 목록 (다운로드/삭제)
|
||
|
|
[승인] [반려] 버튼
|
||
|
|
```
|
||
|
|
|
||
|
|
## 반려 처리
|
||
|
|
|
||
|
|
```
|
||
|
|
반려 시:
|
||
|
|
- rejection_reason (반려 사유) 필수 입력
|
||
|
|
- 상태: pending → rejected
|
||
|
|
- 반려 후 재신청 가능
|
||
|
|
```
|