improvement: 메시지 목록 확장 (#224) #225

Merged
seonkyu.kim merged 1 commits from improvement/#224-message-list-extension into develop 2026-02-25 05:31:09 +00:00
Owner

📋 작업 요약

  • 메시지 목록 API에 서비스 필터/발송상태 필터/서비스명 표시 기능 추가
  • X-Service-Code 헤더 없이도 전체 서비스 메시지 목록 조회 가능
  • PushSendLog 기반 발송 상태(complete/pending/failed) 집계 및 필터링

Closes #224

🛠️ 작업 내용 (Changes)

  • ServiceCodeMiddleware.cs — message/list를 OPTIONAL_FOR_ADMIN 분기에 추가
  • MessageListRequestDto.cs — service_code, send_status 필터 필드 추가
  • MessageListResponseDto.cs — service_name, service_code, latest_send_status 응답 필드 추가
  • IMessageRepository.cs — GetPagedForListAsync 시그니처 + MessageListProjection 클래스 추가
  • MessageRepository.cs — Service 조인 + PushSendLog 집계 쿼리 구현
  • IMessageService.cs — GetListAsync serviceId를 long? nullable로 변경
  • MessageService.cs — GetListAsync 리팩터링, DetermineSendStatus 헬퍼 추가
  • MessageController.cs — GetServiceIdOrNull() 헬퍼 + Swagger Description 업데이트

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

  • 발송 상태 판정은 WP-MSG-02 기본 버전(complete/failed/pending 3종)이며, WP-MSG-04에서 정밀 규칙 확정 예정
  • DB 변경 없음, Migration 불필요
  • 기존 GetPagedByServiceAsync는 유지 (다른 곳에서 사용 가능)

체크리스트 (Self Checklist)

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

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

빌드 성공: 경고 0개, 오류 0개

## 📋 작업 요약 - 메시지 목록 API에 서비스 필터/발송상태 필터/서비스명 표시 기능 추가 - X-Service-Code 헤더 없이도 전체 서비스 메시지 목록 조회 가능 - PushSendLog 기반 발송 상태(complete/pending/failed) 집계 및 필터링 ## 🔗 관련 이슈 (Related Issues) Closes #224 ## 🛠️ 작업 내용 (Changes) - [x] `ServiceCodeMiddleware.cs` — message/list를 OPTIONAL_FOR_ADMIN 분기에 추가 - [x] `MessageListRequestDto.cs` — service_code, send_status 필터 필드 추가 - [x] `MessageListResponseDto.cs` — service_name, service_code, latest_send_status 응답 필드 추가 - [x] `IMessageRepository.cs` — GetPagedForListAsync 시그니처 + MessageListProjection 클래스 추가 - [x] `MessageRepository.cs` — Service 조인 + PushSendLog 집계 쿼리 구현 - [x] `IMessageService.cs` — GetListAsync serviceId를 long? nullable로 변경 - [x] `MessageService.cs` — GetListAsync 리팩터링, DetermineSendStatus 헬퍼 추가 - [x] `MessageController.cs` — GetServiceIdOrNull() 헬퍼 + Swagger Description 업데이트 ## 📢 리뷰어 참고 사항 (To Reviewers) - 발송 상태 판정은 WP-MSG-02 기본 버전(complete/failed/pending 3종)이며, WP-MSG-04에서 정밀 규칙 확정 예정 - DB 변경 없음, Migration 불필요 - 기존 GetPagedByServiceAsync는 유지 (다른 곳에서 사용 가능) ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) 빌드 성공: 경고 0개, 오류 0개
seonkyu.kim added 1 commit 2026-02-25 05:28:48 +00:00
- ServiceCodeMiddleware: message/list를 OPTIONAL_FOR_ADMIN에 추가
- MessageListRequestDto: service_code, send_status 필터 필드 추가
- MessageSummaryDto: service_name, service_code, latest_send_status 추가
- IMessageRepository + MessageRepository: GetPagedForListAsync 구현
  (Service 조인 + PushSendLog 집계 한 번의 쿼리)
- IMessageService + MessageService: serviceId nullable 변경, DetermineSendStatus 헬퍼
- MessageController: GetServiceIdOrNull() 헬퍼 + Swagger 업데이트

Closes #224
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-25 05:28:58 +00:00
seonkyu.kim self-assigned this 2026-02-25 05:29:01 +00:00
seonkyu.kim added this to the Phase 2: 메시지 + 통계 milestone 2026-02-25 05:29:05 +00:00
seonkyu.kim requested review from Owners 2026-02-25 05:29:09 +00:00
seonkyu.kim merged commit d21fb7c883 into develop 2026-02-25 05:31:09 +00:00
seonkyu.kim deleted branch improvement/#224-message-list-extension 2026-02-25 05:31:33 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-26 00:24:20 +00:00
Sign in to join this conversation.
No description provided.