refactor: 收紧角色与商户跨租户能力

This commit is contained in:
root
2026-01-29 14:52:25 +00:00
parent a0b77d4847
commit 41cfd2e2e8
9 changed files with 120 additions and 75 deletions

View File

@@ -25,26 +25,6 @@ public sealed class EfMerchantRepository(TakeoutAppDbContext context, TakeoutLog
.FirstOrDefaultAsync(cancellationToken);
}
/// <inheritdoc />
public Task<Merchant?> FindByIdAsync(long merchantId, CancellationToken cancellationToken = default)
{
return context.Merchants
.IgnoreQueryFilters()
.AsNoTracking()
.Where(x => x.Id == merchantId)
.FirstOrDefaultAsync(cancellationToken);
}
/// <inheritdoc />
public Task<Merchant?> FindByTenantIdAsync(long tenantId, CancellationToken cancellationToken = default)
{
return context.Merchants
.IgnoreQueryFilters()
.AsNoTracking()
.Where(x => x.TenantId == tenantId)
.FirstOrDefaultAsync(cancellationToken);
}
/// <inheritdoc />
public async Task<IReadOnlyList<Merchant>> SearchAsync(long tenantId, MerchantStatus? status, CancellationToken cancellationToken = default)
{
@@ -238,22 +218,17 @@ public sealed class EfMerchantRepository(TakeoutAppDbContext context, TakeoutLog
/// <inheritdoc />
public async Task<IReadOnlyList<Merchant>> SearchAsync(
long? tenantId,
long tenantId,
MerchantStatus? status,
OperatingMode? operatingMode,
string? keyword,
CancellationToken cancellationToken = default)
{
var query = context.Merchants
.IgnoreQueryFilters()
.AsNoTracking()
.Where(x => x.TenantId == tenantId)
.AsQueryable();
if (tenantId.HasValue && tenantId.Value > 0)
{
query = query.Where(x => x.TenantId == tenantId.Value);
}
if (status.HasValue)
{
query = query.Where(x => x.Status == status.Value);