Skip to content

[FEAT] 메일 발송 작업 및 수신자별 결과 조회 API #669

Description

@023-dev

📃 요약

#629에서 저장한 메일 발송 작업과 수신자별 결과를 관리자 화면에서 조회할 수 있는 API를 추가합니다.

현재 #629는 요청 시점 발송, 작업·대상 결과 저장까지 담당하고 조회 API는 제외합니다. 이 이슈에서 목록·상세 조회 계약을 확정하고 구현합니다.

구현 범위

  • 발송 작업 목록 조회
    • 모집 공고 기준 필터
    • 작업 상태 기준 필터
    • 최신 요청 시각 내림차순 정렬
    • 페이지 크기와 페이지 번호 기반 페이지네이션
  • 발송 작업 상세 조회
    • 작업 ID, 시나리오·모집 공고, 요청 관리자, 요청·시작·종료 시각
    • 대상 수, 처리 중·성공·실패 건수와 작업 상태
  • 수신자별 결과 조회
    • applyId, 발송 시점 이메일 snapshot, 대상 상태, 발송 시각
    • 실패 시 failure_reason에 저장된 안전한 오류 코드
    • 대상 수가 많을 때 상세 결과 페이지네이션 또는 상태 필터 제공
  • 관리자 인증·인가와 존재하지 않는 작업에 대한 오류 계약을 기존 관리자 API 규칙에 맞춥니다.

완료 조건

  • 목록 조회가 최신순과 페이지네이션을 보장한다.
  • 모집 공고·작업 상태 필터가 동작한다.
  • 상세 조회에서 작업 요약과 수신자별 결과를 확인할 수 있다.
  • 실패 사유에 외부 메일 공급자의 원문 오류나 민감한 요청 정보가 노출되지 않는다.
  • 다른 관리자 작업 또는 존재하지 않는 작업을 조회할 수 없다.
  • Swagger/API 문서와 관리자 화면이 사용할 응답 DTO를 확정한다.
  • 성공·부분 실패·전체 실패·진행 중 작업과 권한 오류를 테스트한다.

이번 이슈에서 하지 않는 것

  • 발송 작업 생성·실행 로직 변경
  • 예약 시각 저장과 스케줄러
  • 자동 재시도·Outbox·재기동 복구
  • 이미 전송된 메일 회수

📎 참고 자료 (선택)

Activity

  1. self-assigned this
    on Sep 7, 2026
  2. 023-dev commented on Sep 9, 2026

    @023-dev
    MemberAuthor

    결과 조회 API 구현을 #679 stacked PR로 올렸습니다. 작업 목록·상세·수신자 결과 조회, 관리자 본인 작업 제한, 필터·페이지네이션을 포함합니다. 집중 테스트와 H2 repository 테스트는 통과했고, 전체 테스트는 로컬 Docker 미실행으로 Testcontainers 초기화에서 74건 실패했습니다.\n\nPR: #679

  3. added a commit that references this issue on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions