Command.cs 825 B

123456789101112131415161718192021
  1. using Application.Abstractions.Messaging;
  2. using SharedKernel.Results;
  3. namespace Application.Features.Admin.Store.Shipment.UpdateStatus;
  4. /// <summary>
  5. /// Shipment 상태 변경 통합 Command:
  6. /// • Action="RegisterTracking" + Carrier + TrackingNumber → 송장 입력 (자동 Pickup 전환)
  7. /// • Action="InTransit" → 배송 중 (Order.Status Shipped 동기화)
  8. /// • Action="Delivered" → 배송완료 (Order.Status Delivered 동기화)
  9. /// • Action="Failed" → 배송 실패
  10. /// • Action="UpdateBilling" + ShippingFee + AdminMemo → 배송비/관리자 메모 갱신
  11. /// </summary>
  12. public sealed record Command(
  13. int ShipmentID,
  14. string Action,
  15. string? Carrier = null,
  16. string? TrackingNumber = null,
  17. int? ShippingFee = null,
  18. string? AdminMemo = null
  19. ) : ICommand<Result>;