配方领域层方法+重构配方领域

This commit is contained in:
2025-11-22 21:29:23 +08:00
parent b40eb35016
commit 851682d579
11 changed files with 982 additions and 587 deletions

View File

@@ -86,6 +86,7 @@ type Repositories struct {
pigTypeRepo repository.PigTypeRepository
rawMaterialRepo repository.RawMaterialRepository
nutrientRepo repository.NutrientRepository
recipeRepo repository.RecipeRepository
unitOfWork repository.UnitOfWork
}
@@ -117,6 +118,7 @@ func initRepositories(ctx context.Context, db *gorm.DB) *Repositories {
pigTypeRepo: repository.NewGormPigTypeRepository(logs.AddCompName(baseCtx, "PigTypeRepo"), db),
rawMaterialRepo: repository.NewGormRawMaterialRepository(logs.AddCompName(baseCtx, "RawMaterialRepo"), db),
nutrientRepo: repository.NewGormNutrientRepository(logs.AddCompName(baseCtx, "NutrientRepo"), db),
recipeRepo: repository.NewGormRecipeRepository(logs.AddCompName(baseCtx, "RecipeRepo"), db),
unitOfWork: repository.NewGormUnitOfWork(logs.AddCompName(baseCtx, "UnitOfWork"), db),
}
}
@@ -214,13 +216,21 @@ func initDomainServices(ctx context.Context, cfg *config.Config, infra *Infrastr
taskFactory,
)
// 配方管理服务
// 配方管理相关
nutrientService := recipe.NewNutrientService(logs.AddCompName(baseCtx, "NutrientService"), infra.repos.nutrientRepo)
pigAgeStageService := recipe.NewPigAgeStageService(logs.AddCompName(baseCtx, "PigAgeStageService"), infra.repos.pigTypeRepo)
pigBreedService := recipe.NewPigBreedService(logs.AddCompName(baseCtx, "PigBreedService"), infra.repos.pigTypeRepo)
pigTypeService := recipe.NewPigTypeService(logs.AddCompName(baseCtx, "PigTypeService"), infra.repos.unitOfWork, infra.repos.pigTypeRepo)
rawMaterialService := recipe.NewRawMaterialService(logs.AddCompName(baseCtx, "RawMaterialService"), infra.repos.unitOfWork, infra.repos.rawMaterialRepo)
recipeCoreService := recipe.NewRecipeCoreService(logs.AddCompName(baseCtx, "RecipeCoreService"), infra.repos.unitOfWork, infra.repos.recipeRepo)
recipeService := recipe.NewRecipeService(
logs.AddCompName(baseCtx, "RecipeService"),
infra.repos.unitOfWork,
infra.repos.nutrientRepo,
infra.repos.rawMaterialRepo,
infra.repos.pigTypeRepo,
nutrientService,
rawMaterialService,
pigBreedService,
pigAgeStageService,
pigTypeService,
recipeCoreService,
)
return &DomainServices{