테마
Story: 추천인 관리 UI
메타
| 항목 | 값 |
|---|---|
| Story ID | E-02-S-07 |
| Epic | E-02 어드민 강화 |
| 상태 | draft |
| 우선순위 | P2 |
| 규모 | M |
| 담당 개발자 | FE (수민님) |
사용자 스토리
As a 운영팀 관리자, I want 어드민에서 추천인 현황을 확인하고 관리하는 UI, So that 추천 프로그램을 모니터링하고 부정 사용을 방지할 수 있다.
수락 기준 (Acceptance Criteria)
AC-01: 추천 현황 목록 화면
| 항목 | 내용 |
|---|---|
| Given | 추천인 관리 메뉴 진입 |
| When | 페이지 로드 |
| Then | 추천인별 실적 목록 테이블 표시 |
UI 요소:
┌─────────────────────────────────────────────────────────────────┐
│ 추천인 관리 │
├─────────────────────────────────────────────────────────────────┤
│ 필터: [상태 ▼] 정렬: [결제 수 ▼] │
├─────────────────────────────────────────────────────────────────┤
│ 코드 │ 추천인 │ 가입 │ 연동 │ 결제 │ 상태 │
├─────────────────┼─────────────┼───────┼───────┼───────┼─────────┤
│ SELLER-ABC123 │ 맛있는가게 │ 15 │ 8 │ 5 │ 🟢 활성 │
│ SELLER-DEF456 │ 신선마트 │ 10 │ 6 │ 3 │ 🟢 활성 │
│ SELLER-GHI789 │ 행복상점 │ 50 │ 2 │ 0 │ 🔴 비활성│
├─────────────────────────────────────────────────────────────────┤
│ [< 1 2 3 >] │
└─────────────────────────────────────────────────────────────────┘상세 스펙:
- 필터: 상태(전체/활성/비활성)
- 정렬: 가입 수, 연동 수, 결제 수, 생성일
- 행 클릭 → 상세 화면
- 이상 징후 표시: 가입 대비 결제율 극단적 낮은 경우 하이라이트
AC-02: 추천 코드 상세 화면
| 항목 | 내용 |
|---|---|
| Given | 목록에서 추천 코드 클릭 |
| When | 상세 화면 로드 |
| Then | 코드 정보 + 피추천인 목록 표시 |
UI 요소:
┌─────────────────────────────────────────────────────────────────┐
│ ← 목록 SELLER-ABC123 [비활성화] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 추천인: 맛있는가게 (12345) │
│ 상태: 🟢 활성 │
│ 생성일: 2026-01-01 │
│ │
│ ─── 실적 요약 ─── │
│ 총 가입: 15명 | 연동 완료: 8명 | 결제 완료: 5명 │
│ 전환율: 가입→연동 53% | 연동→결제 63% │
│ │
│ ─── 피추천인 목록 ─── │
├─────────────────────────────────────────────────────────────────┤
│ 사업장 │ 상태 │ 가입일 │ 연동일 │ 결제일 │ 리워드│
├─────────────┼───────────┼──────────┼──────────┼──────────┼───────┤
│ 김셀러상점 │ 결제완료 │ 01/15 │ 01/16 │ 01/20 │ ✅ │
│ 박셀러마트 │ 연동완료 │ 01/18 │ 01/19 │ - │ ✅ │
│ 이셀러가게 │ 가입완료 │ 01/25 │ - │ - │ - │
├─────────────────────────────────────────────────────────────────┤
│ [< 1 2 >] │
└─────────────────────────────────────────────────────────────────┘AC-03: 추천 코드 비활성화
| 항목 | 내용 |
|---|---|
| Given | 상세 화면에서 활성 코드 |
| When | [비활성화] 버튼 클릭 |
| Then | 확인 모달 → 비활성화 완료 |
확인 모달:
┌─────────────────────────────────────┐
│ 추천 코드 비활성화 │
├─────────────────────────────────────┤
│ │
│ SELLER-ABC123 코드를 비활성화합니다. │
│ │
│ • 신규 추천이 불가능해집니다 │
│ • 기존 추천 관계는 유지됩니다 │
│ • 나중에 재활성화할 수 있습니다 │
│ │
│ [취소] [비활성화] │
└─────────────────────────────────────┘AC-04: 추천 관계 상세 모달
| 항목 | 내용 |
|---|---|
| Given | 피추천인 목록에서 행 클릭 |
| When | 클릭 |
| Then | 추천 관계 상세 모달 표시 |
UI 요소:
┌─────────────────────────────────────┐
│ 추천 관계 상세 [X] │
├─────────────────────────────────────┤
│ │
│ 추천인: 맛있는가게 (12345) │
│ 피추천인: 김셀러상점 (67890) │
│ 추천 코드: SELLER-ABC123 │
│ │
│ ─── 진행 상태 ─── │
│ ✅ 가입: 2026-01-15 10:30 │
│ ✅ 연동: 2026-01-16 14:20 │
│ ✅ 결제: 2026-01-20 09:15 │
│ │
│ ─── 리워드 지급 ─── │
│ ✅ 연동 리워드: 7,000원 지급완료 │
│ ✅ 결제 리워드: 7,000원 지급완료 │
│ │
│ [닫기] │
└─────────────────────────────────────┘태스크 분해
Task 1: 추천 현황 목록 페이지 AC-01
- [ ] 1.1: 추천 관리 페이지 라우팅
- [ ] 1.2: 목록 테이블 컴포넌트
- [ ] 1.3: 필터 + 정렬 컴포넌트
- [ ] 1.4: 페이지네이션
- [ ] 1.5: API 연동
Task 2: 추천 코드 상세 페이지 AC-02
- [ ] 2.1: 상세 페이지 라우팅 (
/admin/referrals/:code) - [ ] 2.2: 코드 정보 + 실적 요약 표시
- [ ] 2.3: 피추천인 목록 테이블
- [ ] 2.4: API 연동
Task 3: 비활성화 기능 AC-03
- [ ] 3.1: 비활성화 확인 모달
- [ ] 3.2: 비활성화 API 연동
- [ ] 3.3: 상태 갱신
Task 4: 추천 관계 상세 모달 AC-04
- [ ] 4.1: 상세 모달 컴포넌트
- [ ] 4.2: API 연동
Task 5: 마무리
- [ ] 5.1: 에러 처리, 로딩 상태
- [ ] 5.2: PR 생성
Dev Notes (AI Agent 최적화)
영향 받는 소스 트리
src/
├── app/
│ └── admin/
│ └── referrals/
│ ├── page.tsx # 🆕 목록 페이지
│ ├── [code]/
│ │ └── page.tsx # 🆕 상세 페이지
│ └── components/
│ ├── ReferralTable.tsx # 🆕 목록 테이블
│ ├── RefereeList.tsx # 🆕 피추천인 목록
│ ├── DeactivateModal.tsx # 🆕 비활성화 모달
│ └── RelationModal.tsx # 🆕 관계 상세 모달
├── hooks/
│ └── admin/
│ └── useReferrals.ts # 🆕 추천인 API 훅
└── types/
└── admin/
└── referral.ts # 🆕 타입 정의충돌 감지
| 항목 | 상태 | 설명 |
|---|---|---|
| 기존 코드 충돌 | ✅ 없음 | 신규 페이지 |
| 라우팅 충돌 | ✅ 없음 | /admin/referrals 신규 |
의존성
| 의존 | 설명 | 상태 |
|---|---|---|
| E-02-S-06 | 추천인 관리 API | 선행 필요 |
Dev Agent Record
| 항목 | 값 |
|---|---|
| 생성 Agent | Claude Opus 4.5 |
| 생성일 | 2026-01-27 |
| 마지막 수정 | 2026-01-27 |
| 검증자 | - |
검증 결과: 🔄 PENDING (PO 승인 대기) 검증일: -
생성일: 2026-01-27마지막 수정: 2026-01-27
