feat: 통계 API 구현 (8.1~8.5) (#132) #133
No reviewers
SPMS/Owners
Labels
No Label
Priority
High
Priority
Low
Priority
Medium
Priority
Non
Priority
Urgent
Status
Available
Status
Done
Status
In Progress
Type
Bug
Type
Chore
Type
Design
Type
Documentation
Type
Feature
Type
Improvement
Type
Refactor
Type
Research
Type
Task
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SPMS/SPMS_API#133
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/#132-stats-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 작업 요약
Stats API 5종 구현 (API Specification §8). DailyStat 테이블 + PushSendLog 집계 기반.
🔗 관련 이슈 (Related Issues)
Closes #132
🛠️ 작업 내용 (Changes)
새 파일 (13개)
StatsController.cs— 5개 엔드포인트IStatsService.cs/StatsService.cs— 통계 서비스IDailyStatRepository.cs/DailyStatRepository.cs— 일별 통계 Repository수정 파일 (4개)
IPushSendLogRepository.cs— 시간대별/메시지별 통계 집계 메서드 추가PushSendLogRepository.cs— 구현 (GroupBy Hour, GroupBy Date)Application/DependencyInjection.cs— IStatsService 등록Infrastructure/DependencyInjection.cs— IDailyStatRepository 등록API 엔드포인트
POST /v1/in/stats/dailyPOST /v1/in/stats/summaryPOST /v1/in/stats/messagePOST /v1/in/stats/hourlyPOST /v1/in/stats/device📢 리뷰어 참고 사항 (To Reviewers)
open_count/ctr은 DailyStat에서만 제공 (8.1, 8.2). PushSendLog 기반 API(8.3, 8.4)는 PushOpenLog 테이블 미구현으로 0 반환✅ 체크리스트 (Self Checklist)
ApiResponse<T>사용📸 스크린샷 / 테스트 로그 (Screenshots/Logs)
빌드 결과:
경고 0개, 오류 0개