refactor(architecture): harden module boundaries
Some checks failed
ci / release-gate (push) Has been cancelled

This commit is contained in:
2026-08-04 12:10:36 +08:00
parent b38f12e60b
commit 33375a38d7
218 changed files with 5124 additions and 3828 deletions

View File

@@ -15,7 +15,7 @@ internal sealed partial class BackgroundJobService
var idempotencyKey = NormalizeIdempotencyKey(command.IdempotencyKey);
if (idempotencyKey is not null)
{
var existing = await dbContext.BackgroundJobs.AsNoTracking().SingleOrDefaultAsync(
var existing = await jobsOperationsPersistence.BackgroundJobs.AsNoTracking().SingleOrDefaultAsync(
item => item.TenantId == command.TenantId && item.JobType == normalizedJobType &&
item.IdempotencyKey == idempotencyKey,
cancellationToken);
@@ -53,15 +53,15 @@ internal sealed partial class BackgroundJobService
RunAfter = command.RunAfter,
MaxRetries = Math.Clamp(command.MaxRetries, 0, 20)
};
dbContext.BackgroundJobs.Add(job);
jobsOperationsPersistence.BackgroundJobs.Add(job);
try
{
await dbContext.SaveChangesAsync(cancellationToken);
await unitOfWork.SaveChangesAsync(cancellationToken);
}
catch (DbUpdateException) when (idempotencyKey is not null)
{
dbContext.ChangeTracker.Clear();
var existing = await dbContext.BackgroundJobs.AsNoTracking().SingleOrDefaultAsync(
unitOfWork.ChangeTracker.Clear();
var existing = await jobsOperationsPersistence.BackgroundJobs.AsNoTracking().SingleOrDefaultAsync(
item => item.TenantId == command.TenantId && item.JobType == normalizedJobType &&
item.IdempotencyKey == idempotencyKey,
cancellationToken);