diff --git a/internal/app/api/api.go b/internal/app/api/api.go index 91c1d66..71d5844 100644 --- a/internal/app/api/api.go +++ b/internal/app/api/api.go @@ -27,7 +27,6 @@ import ( "git.huangwc.com/pig/pig-farm-controller/internal/app/service" "git.huangwc.com/pig/pig-farm-controller/internal/app/webhook" "git.huangwc.com/pig/pig-farm-controller/internal/domain/audit" - domain_device "git.huangwc.com/pig/pig-farm-controller/internal/domain/device" domain_notify "git.huangwc.com/pig/pig-farm-controller/internal/domain/notify" "git.huangwc.com/pig/pig-farm-controller/internal/domain/scheduler" "git.huangwc.com/pig/pig-farm-controller/internal/domain/token" @@ -63,17 +62,14 @@ type API struct { func NewAPI(cfg config.ServerConfig, logger *logs.Logger, userRepo repository.UserRepository, - deviceRepository repository.DeviceRepository, - areaControllerRepository repository.AreaControllerRepository, - deviceTemplateRepository repository.DeviceTemplateRepository, planRepository repository.PlanRepository, pigFarmService service.PigFarmService, pigBatchService service.PigBatchService, monitorService service.MonitorService, + deviceService service.DeviceService, tokenService token.Service, auditService audit.Service, notifyService domain_notify.Service, - deviceService domain_device.Service, listenHandler webhook.ListenHandler, analysisTaskManager *scheduler.AnalysisPlanTaskManager) *API { // 使用 echo.New() 创建一个 Echo 引擎实例 @@ -98,7 +94,7 @@ func NewAPI(cfg config.ServerConfig, // 在 NewAPI 中初始化用户控制器,并将其作为 API 结构体的成员 userController: user.NewController(userRepo, monitorService, logger, tokenService, notifyService), // 在 NewAPI 中初始化设备控制器,并将其作为 API 结构体的成员 - deviceController: device.NewController(deviceRepository, areaControllerRepository, deviceTemplateRepository, deviceService, logger), + deviceController: device.NewController(deviceService, logger), // 在 NewAPI 中初始化计划控制器,并将其作为 API 结构体的成员 planController: plan.NewController(logger, planRepository, analysisTaskManager), // 在 NewAPI 中初始化猪场管理控制器 diff --git a/internal/app/api/router.go b/internal/app/api/router.go index 2a091bb..53a4127 100644 --- a/internal/app/api/router.go +++ b/internal/app/api/router.go @@ -57,7 +57,6 @@ func (a *API) setupRoutes() { // 用户相关路由组 userGroup := authGroup.Group("/users") { - userGroup.GET("/:id/history", a.userController.ListUserHistory) // 获取用户操作历史 userGroup.POST("/:id/notifications/test", a.userController.SendTestNotification) } a.logger.Debug("用户相关接口注册成功 (需要认证和审计)") diff --git a/internal/core/application.go b/internal/core/application.go index 3448082..d51f51d 100644 --- a/internal/core/application.go +++ b/internal/core/application.go @@ -45,17 +45,14 @@ func NewApplication(configPath string) (*Application, error) { cfg.Server, logger, infra.Repos.UserRepo, - infra.Repos.DeviceRepo, - infra.Repos.AreaControllerRepo, - infra.Repos.DeviceTemplateRepo, infra.Repos.PlanRepo, appServices.PigFarmService, appServices.PigBatchService, appServices.MonitorService, + appServices.DeviceService, infra.TokenService, appServices.AuditService, infra.NotifyService, - domain.GeneralDeviceService, infra.Lora.ListenHandler, domain.AnalysisPlanTaskManager, ) diff --git a/internal/core/component_initializers.go b/internal/core/component_initializers.go index a58f07f..4465114 100644 --- a/internal/core/component_initializers.go +++ b/internal/core/component_initializers.go @@ -185,6 +185,7 @@ type AppServices struct { PigFarmService service.PigFarmService PigBatchService service.PigBatchService MonitorService service.MonitorService + DeviceService service.DeviceService AuditService audit.Service } @@ -208,12 +209,19 @@ func initAppServices(infra *Infrastructure, domainServices *DomainServices, logg infra.Repos.PigTradeRepo, infra.Repos.NotificationRepo, ) + deviceService := service.NewDeviceService( + infra.Repos.DeviceRepo, + infra.Repos.AreaControllerRepo, + infra.Repos.DeviceTemplateRepo, + domainServices.GeneralDeviceService, + ) auditService := audit.NewService(infra.Repos.UserActionLogRepo, logger) return &AppServices{ PigFarmService: pigFarmService, PigBatchService: pigBatchService, MonitorService: monitorService, + DeviceService: deviceService, AuditService: auditService, } }