Skip to content

[BE2-H] 통계·대시보드 #28

Description

@yesung05

작업 내용

docs/백엔드_기능명세.md Module H 섹션 참고. 데이터가 정확히 쌓인 뒤에야 의미가 있으므로
착수 순서상 가장 마지막.

신규 파일: backend/api/admin/stats.py, backend/dao/stats_dao.py,
backend/schemas/stats_schemas.py (StatsSummaryOut, SalesSeriesOut, PopularItemOut).

API

Method Path 응답
GET /api/admin/stats/summary StatsSummaryOut (오늘 매출/주문건수/평균객단가)
GET /api/admin/stats/sales?range=7d|30d SalesSeriesOut (일자별 매출 추이)
GET /api/admin/stats/popular-items?range=7d list[PopularItemOut]

집계는 orders.status='COMPLETED' 건만 대상(취소·환불 제외). 단순 SUM/GROUP BY 쿼리로 충분 —
별도 집계 배치/테이블은 이번 스코프에서는 과설계이므로 만들지 않는다.

완료 기준

  • summary의 매출 합계가 실제 COMPLETED 주문의 final_amount 합과 일치
  • 환불된 주문은 매출 집계에서 제외됨

참고

docs/백엔드_기능명세.md Module H. 선행 조건: #21(Module C), #24(Module E) — 주문 상태·항목
데이터가 정확해야 통계가 의미 있음.

Metadata

Metadata

Assignees

Labels

admin관리자 화면/API 관련 작업phase2Phase 2: 백엔드 로직 보완 + 관리자 화면routerFastAPI 라우터

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions