Response.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Domain.Entities.Developers.ValueObject;
  2. namespace Application.Features.Admin.Developers.Purchases.Search;
  3. public sealed record Response(int Total, Response.SummaryData Summary, List<Response.Row> List)
  4. {
  5. /// <summary>검색 조건 범위의 집계 — 이상 패턴(평균단가 급변/취소율) 검토용</summary>
  6. public sealed record SummaryData(
  7. long TotalOrderPrice,
  8. long TotalCommission,
  9. int PendingCount,
  10. int ConfirmedCount,
  11. int CanceledCount,
  12. int MismatchCount,
  13. long TotalShortfall
  14. );
  15. public sealed record Row(
  16. int ID,
  17. string AppName,
  18. string ChannelName,
  19. string? ChannelCode,
  20. string GameName,
  21. string OrderID,
  22. ApiPurchaseMarketplace Marketplace,
  23. string? ProductID,
  24. int OrderPrice,
  25. decimal CommissionRate,
  26. int CommissionAmount,
  27. int? CatalogPrice,
  28. bool PriceMismatched,
  29. ApiPurchaseStatus Status,
  30. DateTime ConfirmDueAt,
  31. DateTime? ConfirmedAt,
  32. DateTime? CanceledAt,
  33. DateTime CreatedAt,
  34. bool? CancelWasConfirmed,
  35. int? RecoveredAmount,
  36. int? ShortfallAmount
  37. );
  38. }