chore: 提交现有修改

This commit is contained in:
2025-12-02 12:11:25 +08:00
parent 541b75ecd8
commit 5332c87d9d
37 changed files with 429 additions and 677 deletions

View File

@@ -10,22 +10,17 @@ namespace TakeoutSaaS.Infrastructure.App.Repositories;
/// <summary>
/// 配送聚合的 EF Core 仓储实现。
/// </summary>
public sealed class EfDeliveryRepository : IDeliveryRepository
/// <remarks>
/// 初始化仓储。
/// </remarks>
public sealed class EfDeliveryRepository(TakeoutAppDbContext context) : IDeliveryRepository
{
private readonly TakeoutAppDbContext _context;
/// <summary>
/// 初始化仓储。
/// </summary>
public EfDeliveryRepository(TakeoutAppDbContext context)
{
_context = context;
}
/// <inheritdoc />
public Task<DeliveryOrder?> FindByIdAsync(long deliveryOrderId, long tenantId, CancellationToken cancellationToken = default)
{
return _context.DeliveryOrders
return context.DeliveryOrders
.AsNoTracking()
.Where(x => x.TenantId == tenantId && x.Id == deliveryOrderId)
.FirstOrDefaultAsync(cancellationToken);
@@ -34,7 +29,7 @@ public sealed class EfDeliveryRepository : IDeliveryRepository
/// <inheritdoc />
public Task<DeliveryOrder?> FindByOrderIdAsync(long orderId, long tenantId, CancellationToken cancellationToken = default)
{
return _context.DeliveryOrders
return context.DeliveryOrders
.AsNoTracking()
.Where(x => x.TenantId == tenantId && x.OrderId == orderId)
.FirstOrDefaultAsync(cancellationToken);
@@ -43,7 +38,7 @@ public sealed class EfDeliveryRepository : IDeliveryRepository
/// <inheritdoc />
public async Task<IReadOnlyList<DeliveryEvent>> GetEventsAsync(long deliveryOrderId, long tenantId, CancellationToken cancellationToken = default)
{
var events = await _context.DeliveryEvents
var events = await context.DeliveryEvents
.AsNoTracking()
.Where(x => x.TenantId == tenantId && x.DeliveryOrderId == deliveryOrderId)
.OrderBy(x => x.CreatedAt)
@@ -55,25 +50,25 @@ public sealed class EfDeliveryRepository : IDeliveryRepository
/// <inheritdoc />
public Task AddDeliveryOrderAsync(DeliveryOrder deliveryOrder, CancellationToken cancellationToken = default)
{
return _context.DeliveryOrders.AddAsync(deliveryOrder, cancellationToken).AsTask();
return context.DeliveryOrders.AddAsync(deliveryOrder, cancellationToken).AsTask();
}
/// <inheritdoc />
public Task AddEventAsync(DeliveryEvent deliveryEvent, CancellationToken cancellationToken = default)
{
return _context.DeliveryEvents.AddAsync(deliveryEvent, cancellationToken).AsTask();
return context.DeliveryEvents.AddAsync(deliveryEvent, cancellationToken).AsTask();
}
/// <inheritdoc />
public Task SaveChangesAsync(CancellationToken cancellationToken = default)
{
return _context.SaveChangesAsync(cancellationToken);
return context.SaveChangesAsync(cancellationToken);
}
/// <inheritdoc />
public async Task<IReadOnlyList<DeliveryOrder>> SearchAsync(long tenantId, DeliveryStatus? status, long? orderId, CancellationToken cancellationToken = default)
{
var query = _context.DeliveryOrders
var query = context.DeliveryOrders
.AsNoTracking()
.Where(x => x.TenantId == tenantId);
@@ -95,23 +90,23 @@ public sealed class EfDeliveryRepository : IDeliveryRepository
/// <inheritdoc />
public Task UpdateDeliveryOrderAsync(DeliveryOrder deliveryOrder, CancellationToken cancellationToken = default)
{
_context.DeliveryOrders.Update(deliveryOrder);
context.DeliveryOrders.Update(deliveryOrder);
return Task.CompletedTask;
}
/// <inheritdoc />
public async Task DeleteDeliveryOrderAsync(long deliveryOrderId, long tenantId, CancellationToken cancellationToken = default)
{
var events = await _context.DeliveryEvents
var events = await context.DeliveryEvents
.Where(x => x.TenantId == tenantId && x.DeliveryOrderId == deliveryOrderId)
.ToListAsync(cancellationToken);
if (events.Count > 0)
{
_context.DeliveryEvents.RemoveRange(events);
context.DeliveryEvents.RemoveRange(events);
}
var existing = await _context.DeliveryOrders
var existing = await context.DeliveryOrders
.Where(x => x.TenantId == tenantId && x.Id == deliveryOrderId)
.FirstOrDefaultAsync(cancellationToken);
@@ -120,6 +115,6 @@ public sealed class EfDeliveryRepository : IDeliveryRepository
return;
}
_context.DeliveryOrders.Remove(existing);
context.DeliveryOrders.Remove(existing);
}
}