Response.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Domain.Entities.Store.ValueObject;
  2. namespace Application.Features.Api.Store.Orders.Get;
  3. public sealed record Response(
  4. int ID,
  5. string OrderNumber,
  6. int TotalAmount,
  7. int PlatformFeeAmount,
  8. int GameRevenueAmount,
  9. int ChannelRewardAmount,
  10. OrderStatus Status,
  11. int? ChannelID,
  12. string? ChannelName,
  13. DateTime CreatedAt,
  14. DateTime? PaidAt,
  15. List<Response.ItemRow> Items,
  16. Response.ShipmentRow? Shipment,
  17. List<Response.RefundRow> Refunds
  18. )
  19. {
  20. public sealed record ItemRow(
  21. int ID,
  22. int ProductID,
  23. string ProductName,
  24. string? ProductThumbnail,
  25. ProductType Type,
  26. int Quantity,
  27. int UnitPrice,
  28. // Digital: 발급된 쿠폰 코드 (보관함에서도 확인 가능)
  29. int? IssuedCouponCodeID
  30. );
  31. public sealed record ShipmentRow(
  32. int ID,
  33. ShipmentStatus Status,
  34. string? Carrier,
  35. string? TrackingNumber,
  36. int ShippingFee,
  37. DateTime? ShippedAt,
  38. DateTime? DeliveredAt
  39. );
  40. public sealed record RefundRow(
  41. int ID,
  42. RefundType Type,
  43. RefundReasonType ReasonType,
  44. RefundStatus Status,
  45. int Amount,
  46. string Reason,
  47. string? AdminMemo,
  48. DateTime RequestedAt,
  49. DateTime? ResolvedAt
  50. );
  51. }