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

@@ -6,7 +6,10 @@ using Tiku.Infrastructure.Persistence;
namespace Tiku.Infrastructure.Catalog;
public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQueryService
public sealed class CatalogQueryService(ICatalogPersistence catalogPersistence,
IJobsOperationsPersistence jobsOperationsPersistence,
ILearningPersistence learningPersistence,
ICommercePersistence commercePersistence) : ICatalogQueryService
{
private const int DefaultLimit = 500;
private const int MaxLimit = 2000;
@@ -15,7 +18,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Regions
var query = catalogPersistence.Regions
.AsNoTracking()
.Where(region =>
region.TenantId == filter.TenantId &&
@@ -48,7 +51,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.RegionModules
var query = catalogPersistence.RegionModules
.AsNoTracking()
.Where(module =>
module.TenantId == filter.TenantId &&
@@ -85,7 +88,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.ModuleNodes
var query = catalogPersistence.ModuleNodes
.AsNoTracking()
.Where(node =>
node.TenantId == filter.TenantId &&
@@ -129,7 +132,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Schools
var query = catalogPersistence.Schools
.AsNoTracking()
.Where(school => school.TenantId == filter.TenantId);
@@ -160,7 +163,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Majors
var query = catalogPersistence.Majors
.AsNoTracking()
.Where(major =>
major.TenantId == filter.TenantId &&
@@ -195,7 +198,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Subjects
var query = catalogPersistence.Subjects
.AsNoTracking()
.Where(subject =>
subject.TenantId == filter.TenantId &&
@@ -242,7 +245,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Categories
var query = catalogPersistence.Categories
.AsNoTracking()
.Where(category =>
category.TenantId == filter.TenantId &&
@@ -280,7 +283,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Banners
var query = jobsOperationsPersistence.Banners
.AsNoTracking()
.Where(banner =>
banner.TenantId == filter.TenantId &&
@@ -323,7 +326,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Faqs
var query = jobsOperationsPersistence.Faqs
.AsNoTracking()
.Where(faq =>
faq.TenantId == filter.TenantId &&
@@ -360,7 +363,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Announcements
var query = jobsOperationsPersistence.Announcements
.AsNoTracking()
.Where(announcement =>
announcement.TenantId == filter.TenantId &&
@@ -394,7 +397,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.ExamDates
var query = learningPersistence.ExamDates
.AsNoTracking()
.Where(examDate =>
examDate.TenantId == filter.TenantId &&
@@ -468,7 +471,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.Products
var query = commercePersistence.Products
.AsNoTracking()
.Where(product =>
product.TenantId == filter.TenantId &&
@@ -513,7 +516,7 @@ public sealed class CatalogQueryService(TikuDbContext dbContext) : ICatalogQuery
CatalogFilter filter,
CancellationToken cancellationToken = default)
{
var query = dbContext.SvipPlans
var query = commercePersistence.SvipPlans
.AsNoTracking()
.Where(plan =>
plan.TenantId == filter.TenantId &&