using Application.Abstractions.Messaging; using SharedKernel.Results; namespace Application.Features.Admin.Store.Shipment.UpdateStatus; /// /// Shipment 상태 변경 통합 Command: /// • Action="RegisterTracking" + Carrier + TrackingNumber → 송장 입력 (자동 Pickup 전환) /// • Action="InTransit" → 배송 중 (Order.Status Shipped 동기화) /// • Action="Delivered" → 배송완료 (Order.Status Delivered 동기화) /// • Action="Failed" → 배송 실패 /// • Action="UpdateBilling" + ShippingFee + AdminMemo → 배송비/관리자 메모 갱신 /// public sealed record Command( int ShipmentID, string Action, string? Carrier = null, string? TrackingNumber = null, int? ShippingFee = null, string? AdminMemo = null ) : ICommand;