Files
TakeoutSaaS.TenantApi/src/Application/TakeoutSaaS.Application/App/Inventory/Commands/DeductInventoryCommand.cs
2026-02-17 12:12:01 +08:00

36 lines
858 B
C#

using MediatR;
using TakeoutSaaS.Application.App.Inventory.Dto;
namespace TakeoutSaaS.Application.App.Inventory.Commands;
/// <summary>
/// 扣减库存命令(履约/支付成功)。
/// </summary>
public sealed record DeductInventoryCommand : IRequest<InventoryItemDto>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
/// <summary>
/// SKU ID。
/// </summary>
public long ProductSkuId { get; init; }
/// <summary>
/// 扣减数量。
/// </summary>
public int Quantity { get; init; }
/// <summary>
/// 是否预售锁定转扣减。
/// </summary>
public bool IsPresaleOrder { get; init; }
/// <summary>
/// 幂等键(与锁定请求一致可避免重复扣减)。
/// </summary>
public string? IdempotencyKey { get; init; }
}