[HSC-424] 로그 feature 배치 엔드포인트 추가#284
Conversation
🧪 Test Coverage Report (JaCoCo)
Package line spark (sample): 📦 Package coverage (worst 10)
🧨 Lowest coverage classes (worst 10)
🧩 Changed files coverage breakdown (7 files)
🔎 HTML 리포트: Actions → Artifacts → |
There was a problem hiding this comment.
Code Review
이번 풀요청은 로그 feature 전송 성능 개선을 위해 배치 처리 기능을 도입합니다. UserLogAdminDispatchOutboxService에서 로그를 멤버 ID 및 KST 기준일 단위로 그룹화하여 전송하도록 로직을 고도화하였으며, 이를 지원하기 위한 배치용 API 엔드포인트와 클라이언트 기능이 추가되었습니다. 리뷰 과정에서 InternalLogFeatureController의 배치 엔드포인트 경로가 프로젝트 아키텍처 표준인 /api/{version}/admin/... 형식을 위반하는 것으로 확인되어, 보안 및 일관성 유지를 위한 경로 수정이 필요합니다.
| return ResponseEntity.accepted().build(); | ||
| } | ||
|
|
||
| @PostMapping("/batch") |
There was a problem hiding this comment.
🛑 아키텍처 규칙 위반 (Blocking Issue)
[위반 규칙]: Admin API Path Structure
[문제 이유]: 관리자(Admin) 엔드포인트는 반드시 /api/{version}/admin/... 형식을 따라야 하며, 버전 세그먼트가 'admin'보다 앞에 위치해야 합니다. 현재 설정된 /internal/v1/log-features/batch는 이 표준을 위반하며, 이는 관리자 API를 전용 보안 전략으로 보호하려는 설계와 충돌합니다.
[해결 제안]: 컨트롤러의 @RequestMapping을 /api/v1/admin/log-features로 변경하여 아키텍처 표준을 준수하십시오.
References
- Admin API endpoints should follow the path structure /api/{version}/admin/..., with the version preceding the 'admin' segment.
📝작업 내용
👀변경 사항
/internal/v1/log-features/batch경로 추가memberId + Asia/Seoul 기준일단위 그룹 전송mode=single|batch태그 추가flowchart LR A["Customer User Log"] --> B["Outbox 적재"] B --> C["memberId + KST 기준일 그룹화"] C --> D["POST /internal/v1/log-features/batch"] D --> E["Admin LogFeaturesUseCase"] E --> F["Feature Snapshot 동기화"] F --> G["Churn Snapshot 저장"]🎫 Jira Ticket
#️⃣관련 이슈