feat: 통계 리포트 다운로드 API 구현 (#138) #139

Merged
seonkyu.kim merged 1 commits from feature/#138-stats-export into develop 2026-02-11 00:41:04 +00:00
Owner

📋 작업 요약

  • DSH-01(일별), DSH-02(시간대별), DSH-03(플랫폼별) 통계 데이터를 엑셀 3시트로 다운로드하는 API 구현
  • ClosedXML 패키지 추가

Closes #138

🛠️ 작업 내용 (Changes)

  • SPMS.Application.csproj — ClosedXML 0.105.0 패키지 추가
  • StatsExportRequestDto.cs — 요청 DTO (start_date, end_date)
  • IStatsService.cs — ExportReportAsync 메서드 추가
  • StatsService.cs — 엑셀 생성 로직 구현 (일별/시간대별/플랫폼별 3시트)
  • StatsController.cs — POST /v1/in/stats/export 파일 다운로드 엔드포인트 추가

📢 리뷰어 참고 사항 (To Reviewers)

  • ClosedXML 패키지 신규 추가 (Application 레이어)
  • 파일 응답은 File() 메서드로 xlsx MIME 타입 반환
  • 기간 검증은 기존 ParseDateRange 재사용

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

dotnet build SPMS.API
빌드했습니다. 경고 0개, 오류 0개
## 📋 작업 요약 - DSH-01(일별), DSH-02(시간대별), DSH-03(플랫폼별) 통계 데이터를 엑셀 3시트로 다운로드하는 API 구현 - ClosedXML 패키지 추가 ## 🔗 관련 이슈 (Related Issues) Closes #138 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application.csproj` — ClosedXML 0.105.0 패키지 추가 - [x] `StatsExportRequestDto.cs` — 요청 DTO (start_date, end_date) - [x] `IStatsService.cs` — ExportReportAsync 메서드 추가 - [x] `StatsService.cs` — 엑셀 생성 로직 구현 (일별/시간대별/플랫폼별 3시트) - [x] `StatsController.cs` — POST /v1/in/stats/export 파일 다운로드 엔드포인트 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - ClosedXML 패키지 신규 추가 (Application 레이어) - 파일 응답은 File() 메서드로 xlsx MIME 타입 반환 - 기간 검증은 기존 ParseDateRange 재사용 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` dotnet build SPMS.API 빌드했습니다. 경고 0개, 오류 0개 ```
seonkyu.kim added this to the Phase 3-2: 통계 & Webhook & 배치 milestone 2026-02-11 00:39:37 +00:00
seonkyu.kim added 1 commit 2026-02-11 00:39:39 +00:00
- POST /v1/in/stats/export (EXP-01)
- 일별/시간대별/플랫폼별 통계를 엑셀(.xlsx) 3시트로 생성
- ClosedXML 패키지 추가

Closes #138
seonkyu.kim self-assigned this 2026-02-11 00:39:59 +00:00
seonkyu.kim requested review from Owners 2026-02-11 00:40:08 +00:00
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-11 00:40:17 +00:00
seonkyu.kim merged commit 042e6e1dd6 into develop 2026-02-11 00:41:04 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-11 00:41:31 +00:00
seonkyu.kim deleted branch feature/#138-stats-export 2026-02-11 00:41:37 +00:00
Sign in to join this conversation.
No description provided.