重构设备控制器
This commit is contained in:
@@ -42,30 +42,32 @@ import (
|
||||
|
||||
// API 结构体定义了 HTTP 服务器及其依赖
|
||||
type API struct {
|
||||
echo *echo.Echo // Echo 引擎实例,用于处理 HTTP 请求
|
||||
Ctx context.Context // API 组件的上下文,包含日志记录器
|
||||
userRepo repository.UserRepository // 用户数据仓库接口,用于用户数据操作
|
||||
tokenGenerator token.Generator // Token 服务接口,用于 JWT token 的生成和解析
|
||||
auditService service.AuditService // 审计服务,用于记录用户操作
|
||||
httpServer *http.Server // 标准库的 HTTP 服务器实例,用于启动和停止服务
|
||||
config config.ServerConfig // API 服务器的配置,使用 infra/config 包中的 ServerConfig
|
||||
userController *user.Controller // 用户控制器实例
|
||||
deviceController *device.Controller // 设备控制器实例
|
||||
planController *plan.Controller // 计划控制器实例
|
||||
pigFarmController *management.PigFarmController // 猪场管理控制器实例
|
||||
pigBatchController *management.PigBatchController // 猪群控制器实例
|
||||
monitorController *monitor.Controller // 数据监控控制器实例
|
||||
healthController *health.Controller // 健康检查控制器实例
|
||||
alarmController *alarm.ThresholdAlarmController // 阈值告警控制器
|
||||
nutrientController *feed.NutrientController // 营养控制器实例
|
||||
pigAgeStageController *feed.PigAgeStageController // 猪龄阶段控制器实例
|
||||
pigBreedController *feed.PigBreedController // 猪品种控制器实例
|
||||
pigTypeController *feed.PigTypeController // 猪种类控制器实例
|
||||
rawMaterialController *feed.RawMaterialController // 原料控制器实例
|
||||
recipeController *feed.RecipeController // 配方控制器实例
|
||||
inventoryController *inventory.InventoryController // 库存控制器实例
|
||||
listenHandler listener.ListenHandler // 设备上行事件监听器
|
||||
analysisTaskManager *domain_plan.AnalysisPlanTaskManager // 计划触发器管理器实例
|
||||
echo *echo.Echo // Echo 引擎实例,用于处理 HTTP 请求
|
||||
Ctx context.Context // API 组件的上下文,包含日志记录器
|
||||
userRepo repository.UserRepository // 用户数据仓库接口,用于用户数据操作
|
||||
tokenGenerator token.Generator // Token 服务接口,用于 JWT token 的生成和解析
|
||||
auditService service.AuditService // 审计服务,用于记录用户操作
|
||||
httpServer *http.Server // 标准库的 HTTP 服务器实例,用于启动和停止服务
|
||||
config config.ServerConfig // API 服务器的配置,使用 infra/config 包中的 ServerConfig
|
||||
userController *user.Controller // 用户控制器实例
|
||||
deviceController *device.DeviceController // 设备控制器实例
|
||||
deviceTemplateController *device.DeviceTemplateController // 设备模板控制器实例
|
||||
areaControllerController *device.AreaControllerController // 区域主控控制器实例
|
||||
planController *plan.Controller // 计划控制器实例
|
||||
pigFarmController *management.PigFarmController // 猪场管理控制器实例
|
||||
pigBatchController *management.PigBatchController // 猪群控制器实例
|
||||
monitorController *monitor.Controller // 数据监控控制器实例
|
||||
healthController *health.Controller // 健康检查控制器实例
|
||||
alarmController *alarm.ThresholdAlarmController // 阈值告警控制器
|
||||
nutrientController *feed.NutrientController // 营养控制器实例
|
||||
pigAgeStageController *feed.PigAgeStageController // 猪龄阶段控制器实例
|
||||
pigBreedController *feed.PigBreedController // 猪品种控制器实例
|
||||
pigTypeController *feed.PigTypeController // 猪种类控制器实例
|
||||
rawMaterialController *feed.RawMaterialController // 原料控制器实例
|
||||
recipeController *feed.RecipeController // 配方控制器实例
|
||||
inventoryController *inventory.InventoryController // 库存控制器实例
|
||||
listenHandler listener.ListenHandler // 设备上行事件监听器
|
||||
analysisTaskManager *domain_plan.AnalysisPlanTaskManager // 计划触发器管理器实例
|
||||
}
|
||||
|
||||
// NewAPI 创建并返回一个新的 API 实例
|
||||
@@ -77,6 +79,8 @@ func NewAPI(cfg config.ServerConfig,
|
||||
pigBatchService service.PigBatchService,
|
||||
monitorService service.MonitorService,
|
||||
deviceService service.DeviceService,
|
||||
deviceTemplateService service.DeviceTemplateService,
|
||||
areaControllerService service.AreaControllerService,
|
||||
planService service.PlanService,
|
||||
userService service.UserService,
|
||||
auditService service.AuditService,
|
||||
@@ -104,28 +108,30 @@ func NewAPI(cfg config.ServerConfig,
|
||||
// 初始化 API 结构体
|
||||
baseCtx := context.Background()
|
||||
api := &API{
|
||||
echo: e,
|
||||
Ctx: ctx,
|
||||
userRepo: userRepo,
|
||||
tokenGenerator: tokenGenerator,
|
||||
auditService: auditService,
|
||||
config: cfg,
|
||||
listenHandler: listenHandler,
|
||||
userController: user.NewController(logs.AddCompName(baseCtx, "UserController"), userService),
|
||||
deviceController: device.NewController(logs.AddCompName(baseCtx, "DeviceController"), deviceService),
|
||||
planController: plan.NewController(logs.AddCompName(baseCtx, "PlanController"), planService),
|
||||
pigFarmController: management.NewPigFarmController(logs.AddCompName(baseCtx, "PigFarmController"), pigFarmService),
|
||||
pigBatchController: management.NewPigBatchController(logs.AddCompName(baseCtx, "PigBatchController"), pigBatchService),
|
||||
monitorController: monitor.NewController(logs.AddCompName(baseCtx, "MonitorController"), monitorService),
|
||||
healthController: health.NewController(logs.AddCompName(baseCtx, "HealthController")),
|
||||
alarmController: alarm.NewThresholdAlarmController(logs.AddCompName(baseCtx, "ThresholdAlarmController"), alarmService),
|
||||
nutrientController: feed.NewNutrientController(logs.AddCompName(baseCtx, "NutrientController"), nutrientService),
|
||||
pigAgeStageController: feed.NewPigAgeStageController(logs.AddCompName(baseCtx, "PigAgeStageController"), pigAgeStageService),
|
||||
pigBreedController: feed.NewPigBreedController(logs.AddCompName(baseCtx, "PigBreedController"), pigBreedService),
|
||||
pigTypeController: feed.NewPigTypeController(logs.AddCompName(baseCtx, "PigTypeController"), pigTypeService),
|
||||
rawMaterialController: feed.NewRawMaterialController(logs.AddCompName(baseCtx, "RawMaterialController"), rawMaterialService),
|
||||
recipeController: feed.NewRecipeController(logs.AddCompName(baseCtx, "RecipeController"), recipeService),
|
||||
inventoryController: inventory.NewInventoryController(logs.AddCompName(baseCtx, "InventoryController"), inventoryService),
|
||||
echo: e,
|
||||
Ctx: ctx,
|
||||
userRepo: userRepo,
|
||||
tokenGenerator: tokenGenerator,
|
||||
auditService: auditService,
|
||||
config: cfg,
|
||||
listenHandler: listenHandler,
|
||||
userController: user.NewController(logs.AddCompName(baseCtx, "UserController"), userService),
|
||||
deviceController: device.NewDeviceController(logs.AddCompName(baseCtx, "DeviceController"), deviceService),
|
||||
deviceTemplateController: device.NewDeviceTemplateController(logs.AddCompName(baseCtx, "DeviceTemplateController"), deviceTemplateService),
|
||||
areaControllerController: device.NewAreaControllerController(logs.AddCompName(baseCtx, "AreaControllerController"), areaControllerService),
|
||||
planController: plan.NewController(logs.AddCompName(baseCtx, "PlanController"), planService),
|
||||
pigFarmController: management.NewPigFarmController(logs.AddCompName(baseCtx, "PigFarmController"), pigFarmService),
|
||||
pigBatchController: management.NewPigBatchController(logs.AddCompName(baseCtx, "PigBatchController"), pigBatchService),
|
||||
monitorController: monitor.NewController(logs.AddCompName(baseCtx, "MonitorController"), monitorService),
|
||||
healthController: health.NewController(logs.AddCompName(baseCtx, "HealthController")),
|
||||
alarmController: alarm.NewThresholdAlarmController(logs.AddCompName(baseCtx, "ThresholdAlarmController"), alarmService),
|
||||
nutrientController: feed.NewNutrientController(logs.AddCompName(baseCtx, "NutrientController"), nutrientService),
|
||||
pigAgeStageController: feed.NewPigAgeStageController(logs.AddCompName(baseCtx, "PigAgeStageController"), pigAgeStageService),
|
||||
pigBreedController: feed.NewPigBreedController(logs.AddCompName(baseCtx, "PigBreedController"), pigBreedService),
|
||||
pigTypeController: feed.NewPigTypeController(logs.AddCompName(baseCtx, "PigTypeController"), pigTypeService),
|
||||
rawMaterialController: feed.NewRawMaterialController(logs.AddCompName(baseCtx, "RawMaterialController"), rawMaterialService),
|
||||
recipeController: feed.NewRecipeController(logs.AddCompName(baseCtx, "RecipeController"), recipeService),
|
||||
inventoryController: inventory.NewInventoryController(logs.AddCompName(baseCtx, "InventoryController"), inventoryService),
|
||||
}
|
||||
|
||||
api.setupRoutes() // 设置所有路由
|
||||
|
||||
Reference in New Issue
Block a user