| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using Domain.Entities.Store.ValueObject;
- namespace Application.Features.Admin.Store.Order.Get;
- public sealed record Response(
- int ID,
- string OrderNumber,
- int MemberID,
- string MemberEmail,
- int? ChannelID,
- string? ChannelName,
- int TotalAmount,
- int PlatformFeeAmount,
- int GameRevenueAmount,
- int ChannelRewardAmount,
- OrderStatus Status,
- string? CancelReason,
- string? RefundReason,
- DateTime CreatedAt,
- DateTime? PaidAt,
- List<Response.ItemRow> Items,
- List<Response.RefundRow> Refunds,
- Response.ShipmentInfo? Shipment
- )
- {
- public sealed record ItemRow(
- int ID,
- int ProductID,
- string ProductName,
- string TypeText,
- int Quantity,
- int UnitPrice,
- int LineTotal,
- int? IssuedCouponCodeID,
- string? IssuedCouponCode,
- IReadOnlyList<CouponDetail> CouponCodes
- );
- /// <summary>
- /// OrderItem 에 발급된 개별 쿠폰 코드 (수량만큼 N개).
- /// MemberInventory → CouponCode join 으로 채워짐.
- /// RefundRequestID 가 채워져 있으면 이미 환불 요청에 포함된 코드 (체크박스 비활성화).
- /// </summary>
- public sealed record CouponDetail(
- int CouponCodeID,
- string Code,
- DateTime? UsedAt,
- bool IsUsed,
- int? RefundRequestID
- );
- public sealed record RefundRow(
- int ID,
- RefundType Type,
- RefundStatus Status,
- int Amount,
- string Reason,
- string? AdminMemo,
- DateTime RequestedAt,
- DateTime? ResolvedAt,
- IReadOnlyList<RefundCoupon> Coupons
- );
- /// <summary>환불 이력 표에 표시할 포함 쿠폰 한 줄.</summary>
- public sealed record RefundCoupon(
- string Code,
- CouponPostRefundAction Action
- );
- public sealed record ShipmentInfo(
- int ID,
- ShipmentStatus Status,
- string? Carrier,
- string? TrackingNumber,
- DateTime? ShippedAt,
- DateTime? DeliveredAt
- );
- }
|