Skip to content

feat: 관리자 판매자 목록 조회 및 검색 API 구현#458

Merged
minij02 merged 1 commit into
developfrom
feat/#452
May 16, 2026
Merged

feat: 관리자 판매자 목록 조회 및 검색 API 구현#458
minij02 merged 1 commit into
developfrom
feat/#452

Conversation

@minij02
Copy link
Copy Markdown
Collaborator

@minij02 minij02 commented May 16, 2026

📌 기능 설명

관리자 대시보드에서 승인 완료된 개인/사업자 판매자 목록을 조회하고 검색하는 API를 구현합니다.
관련 이슈: #452

📌 구현 내용

추가된 엔드포인트 (모두 authenticateJwt + isAdmin 적용)

메서드 경로 동작
GET /api/admin/sellers/individual 개인 판매자 목록 (실명·이메일·정산계좌)
GET /api/admin/sellers/business 사업자 판매자 목록 (프로필·닉네임·실명·이메일·정산계좌)

공통 쿼리 파라미터

  • page (default 1), limit (default 10, max 50)
  • search: 실명(User.name) · 이메일(User.email) · 닉네임(User.nickname) 부분 일치 검색

설계 결정

  • 상태 필터: status=APPROVED만 조회 (대기는 /api/admin/sellers/pending, 반려는 목록에서 제외)
  • 정렬: created_at DESC (#451과 동일하게 가입 최신순)
  • 검색 정규화: 공백 trim 후 빈 문자열이면 검색 미적용
  • 응답 포맷: 개인은 spec대로 lean하게, 사업자는 프로필/닉네임 포함 (PendingSeller 응답과 일관성 유지)

변경 파일

  • src/settlements/dtos/admin-seller.dto.tsIndividualSellerListItem, BusinessSellerListItem, SellerListResponse<T> 추가
  • src/settlements/repositories/admin-seller.repository.tsfindApprovedSellers, countApprovedSellers + 검색 필터 빌더
  • src/settlements/services/admin-seller.service.tslistIndividualSellers, listBusinessSellers
  • src/settlements/controllers/admin-seller.controller.tsgetIndividualSellerList, getBusinessSellerList
  • src/settlements/routes/admin-seller.route.ts — 2개 라우트 + Swagger 문서
  • swagger.json — 빌드 시 자동 재생성

📌 구현 결과

  • pnpm exec tsc --noEmit 통과
  • pnpm build 통과
  • Swagger /api-docsAdminSeller 태그에서 신규 2개 API 확인 가능

📌 논의하고 싶은 점

  • 검색 매칭 방식: 현재 contains 사용 (MySQL의 utf8mb4_general_ci/utf8mb4_unicode_ci 콜레이션에서는 기본적으로 대소문자 무시). 완전 일치/접두사 일치 등이 필요하면 알려주세요
  • 개인 판매자 응답에 프로필 사진/닉네임을 포함시킬지 — 현재는 기획서대로 미포함. 프론트 통합 시 필요해지면 확장 가능

- 승인 완료(APPROVED) 상태 판매자를 개인/사업자 별로 분리 조회
  - GET /api/admin/sellers/individual (실명·이메일·정산계좌 + 페이지네이션)
  - GET /api/admin/sellers/business (프로필·닉네임·실명·이메일·정산계좌 + 페이지네이션)
- search 쿼리 파라미터: 실명/이메일/닉네임 부분 일치 검색
- 정렬: created_at DESC (가입 최신순)
- authenticateJwt + isAdmin 미들웨어 적용

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@minij02 minij02 self-assigned this May 16, 2026
@minij02 minij02 merged commit e4db147 into develop May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant