using MediatR;
using Microsoft.Extensions.Logging;
using TakeoutSaaS.Application.App.Stores.Commands;
using TakeoutSaaS.Domain.Stores.Repositories;
using TakeoutSaaS.Shared.Abstractions.Tenancy;
namespace TakeoutSaaS.Application.App.Stores.Handlers;
///
/// 删除自提档期处理器。
///
public sealed class DeleteStorePickupSlotCommandHandler(
IStoreRepository storeRepository,
ITenantProvider tenantProvider,
ILogger logger)
: IRequestHandler
{
///
public async Task Handle(DeleteStorePickupSlotCommand request, CancellationToken cancellationToken)
{
// 1. 删除档期
var tenantId = tenantProvider.GetCurrentTenantId();
await storeRepository.DeletePickupSlotAsync(request.SlotId, tenantId, cancellationToken);
await storeRepository.SaveChangesAsync(cancellationToken);
logger.LogInformation("删除自提档期 {SlotId}", request.SlotId);
return true;
}
}