SPMS_API/SPMS.Application/DTOs/Stats/HistoryListResponseDto.cs
SEAN 347c9aa4bf improvement: 이력 목록/상세 API 추가 (#233)
- POST /v1/in/stats/history/list: 메시지별 발송 이력 목록 조회
  (keyword/status/date 필터, 페이지네이션)
- POST /v1/in/stats/history/detail: 특정 메시지 상세 이력 조회
  (기본정보+집계+실패사유 Top 5+본문)
- SendStatus.Determine() 규칙 재사용

Closes #233
2026-02-25 16:23:11 +09:00

44 lines
1.1 KiB
C#

using System.Text.Json.Serialization;
using SPMS.Application.DTOs.Notice;
namespace SPMS.Application.DTOs.Stats;
public class HistoryListResponseDto
{
[JsonPropertyName("items")]
public List<HistoryListItemDto> Items { get; set; } = [];
[JsonPropertyName("pagination")]
public PaginationDto Pagination { get; set; } = new();
}
public class HistoryListItemDto
{
[JsonPropertyName("message_code")]
public string MessageCode { get; set; } = string.Empty;
[JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
[JsonPropertyName("service_name")]
public string ServiceName { get; set; } = string.Empty;
[JsonPropertyName("sent_at")]
public DateTime? SentAt { get; set; }
[JsonPropertyName("target_count")]
public int TargetCount { get; set; }
[JsonPropertyName("success_count")]
public int SuccessCount { get; set; }
[JsonPropertyName("fail_count")]
public int FailCount { get; set; }
[JsonPropertyName("open_rate")]
public double OpenRate { get; set; }
[JsonPropertyName("status")]
public string Status { get; set; } = string.Empty;
}