36 lines
858 B
C#
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; }
|
|
}
|