issue_49 #51
@@ -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 中初始化猪场管理控制器
 | 
			
		||||
 
 | 
			
		||||
@@ -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("用户相关接口注册成功 (需要认证和审计)")
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
	)
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user