improvement: 메시지 발송 상태 집계 규칙 고정 (#178) #228

Merged
seonkyu.kim merged 1 commits from improvement/#178-send-status-rule into develop 2026-02-25 06:11:48 +00:00
Owner

📋 작업 요약

  • 메시지 발송 상태 판정 로직을 SendStatus static class로 분리하여 단일 진실 공급원(Single Source of Truth) 확보
  • 매직 스트링("complete", "pending", "failed") 제거 → 컴파일 타임 상수로 교체
  • 목록/상세 API에서 동일한 규칙이 적용됨을 보장

Closes #178

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Enums/SendStatus.cs — 상수 3종(Pending/Complete/Failed) + Determine() 정적 메서드 신규 생성
  • SPMS.Application/Services/MessageService.cs — private DetermineSendStatus() 삭제 → SendStatus.Determine() 호출
  • SPMS.Infrastructure/Persistence/Repositories/MessageRepository.cs — 매직 스트링 → SendStatus 상수 참조
  • SPMS.API/Controllers/MessageController.cs — list/info Swagger Description에 SendStatus 규칙 안내 추가

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

  • 순수 리팩토링 — 동작 변경 없음 (상태 판정 규칙 자체는 동일)
  • Repository의 Where 조건은 EF Core SQL 변환이 필요하므로 인라인 유지, 상수만 교체
  • DB 변경/Migration 없음

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
경과 시간: 00:00:03.59
## 📋 작업 요약 - 메시지 발송 상태 판정 로직을 `SendStatus` static class로 분리하여 단일 진실 공급원(Single Source of Truth) 확보 - 매직 스트링("complete", "pending", "failed") 제거 → 컴파일 타임 상수로 교체 - 목록/상세 API에서 동일한 규칙이 적용됨을 보장 ## 🔗 관련 이슈 (Related Issues) Closes #178 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Enums/SendStatus.cs` — 상수 3종(Pending/Complete/Failed) + Determine() 정적 메서드 신규 생성 - [x] `SPMS.Application/Services/MessageService.cs` — private DetermineSendStatus() 삭제 → SendStatus.Determine() 호출 - [x] `SPMS.Infrastructure/Persistence/Repositories/MessageRepository.cs` — 매직 스트링 → SendStatus 상수 참조 - [x] `SPMS.API/Controllers/MessageController.cs` — list/info Swagger Description에 SendStatus 규칙 안내 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - 순수 리팩토링 — 동작 변경 없음 (상태 판정 규칙 자체는 동일) - Repository의 Where 조건은 EF Core SQL 변환이 필요하므로 인라인 유지, 상수만 교체 - DB 변경/Migration 없음 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 경과 시간: 00:00:03.59 ```
seonkyu.kim added 1 commit 2026-02-25 06:09:47 +00:00
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-25 06:09:55 +00:00
seonkyu.kim self-assigned this 2026-02-25 06:09:58 +00:00
seonkyu.kim added this to the Phase 2: 메시지 + 통계 milestone 2026-02-25 06:10:04 +00:00
seonkyu.kim requested review from Owners 2026-02-25 06:10:14 +00:00
seonkyu.kim merged commit 15a2dd66e5 into develop 2026-02-25 06:11:48 +00:00
seonkyu.kim deleted branch improvement/#178-send-status-rule 2026-02-25 06:12:08 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-25 06:34:32 +00:00
Sign in to join this conversation.
No description provided.