[Feature] 상세 로그 다운로드 API 구현 (EXP-02) #140

Closed
opened 2026-02-11 00:42:03 +00:00 by seonkyu.kim · 0 comments
Owner

개요

발송 로그를 CSV 파일로 내보내는 API를 구현한다. 페이징 없이 전체 데이터를 파일로 반환.

기능 상세

  • 엔드포인트: POST /v1/in/push/log/export (API_SPMS_07_PUSH_09)
  • 기능 ID: EXP-02
  • 참조: API_Specification.md §7.9

제한사항

  • 최대 조회 기간: 30일
  • 최대 내보내기 건수: 100,000건
  • 초과 시 기간을 좁혀서 재요청

CSV 형식

send_id,message_code,device_id,platform,status,fail_reason,sent_at

구현 범위

신규 파일

  • PushLogExportRequestDto.cs — 요청 DTO

수정 파일

  • IPushSendLogRepository.cs — GetExportLogsAsync 메서드 추가
  • PushSendLogRepository.cs — 구현 (Include Message+Device, 최대 100,000건)
  • IPushService.cs — ExportLogAsync 메서드 추가
  • PushService.cs — CSV 생성 로직 구현
  • PushController.cs — 파일 다운로드 엔드포인트 추가

참조

  • Documents/API_Specification.md §7.9
  • Phase 3-2 마일스톤 (v0.5.0)
## 개요 발송 로그를 CSV 파일로 내보내는 API를 구현한다. 페이징 없이 전체 데이터를 파일로 반환. ## 기능 상세 - **엔드포인트**: `POST /v1/in/push/log/export` (API_SPMS_07_PUSH_09) - **기능 ID**: EXP-02 - **참조**: API_Specification.md §7.9 ### 제한사항 - 최대 조회 기간: 30일 - 최대 내보내기 건수: 100,000건 - 초과 시 기간을 좁혀서 재요청 ### CSV 형식 ``` send_id,message_code,device_id,platform,status,fail_reason,sent_at ``` ## 구현 범위 ### 신규 파일 - [x] `PushLogExportRequestDto.cs` — 요청 DTO ### 수정 파일 - [x] `IPushSendLogRepository.cs` — GetExportLogsAsync 메서드 추가 - [x] `PushSendLogRepository.cs` — 구현 (Include Message+Device, 최대 100,000건) - [x] `IPushService.cs` — ExportLogAsync 메서드 추가 - [x] `PushService.cs` — CSV 생성 로직 구현 - [x] `PushController.cs` — 파일 다운로드 엔드포인트 추가 ## 참조 - `Documents/API_Specification.md` §7.9 - Phase 3-2 마일스톤 (v0.5.0)
seonkyu.kim added the
Priority
Medium
Status
Available
Type
Feature
labels 2026-02-11 00:42:12 +00:00
seonkyu.kim added this to the Phase 3-2: 통계 & Webhook & 배치 milestone 2026-02-11 00:42:14 +00:00
seonkyu.kim self-assigned this 2026-02-11 00:42:17 +00:00
seonkyu.kim added
Status
Done
and removed
Status
Available
labels 2026-02-11 00:48:09 +00:00
Sign in to join this conversation.
No description provided.