让任务可以提供自身使用设备
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# 任务接口增加获取关联设备ID方法设计
|
||||
|
||||
## 1. 需求
|
||||
|
||||
为了在设备删除前进行验证,需要为任务接口增加一个方法,该方法能够直接返回指定任务配置中所有关联的设备ID列表。所有实现 `task` 接口的对象都必须实现此方法。
|
||||
|
||||
## 2. 新接口定义:`TaskDeviceIDResolver`
|
||||
|
||||
```go
|
||||
// TaskDeviceIDResolver 定义了从任务配置中解析设备ID的方法
|
||||
type TaskDeviceIDResolver interface {
|
||||
// ResolveDeviceIDs 从任务配置中解析并返回所有关联的设备ID列表
|
||||
// 返回值: uint数组,每个字符串代表一个设备ID
|
||||
ResolveDeviceIDs() ([]uint, error)
|
||||
}
|
||||
```
|
||||
|
||||
## 3. `task` 接口更新
|
||||
|
||||
`task` 接口将嵌入 `TaskDeviceIDResolver` 接口。
|
||||
|
||||
```go
|
||||
// Task 接口(示例,具体结构可能不同)
|
||||
type Task interface {
|
||||
// ... 其他现有方法 ...
|
||||
|
||||
// 嵌入 TaskDeviceIDResolver 接口
|
||||
TaskDeviceIDResolver
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 实现要求
|
||||
|
||||
所有当前及未来实现 `Task` 接口的类型,都必须实现 `TaskDeviceIDResolver` 接口中定义的所有方法,即 `ResolveDeviceIDs` 方法。
|
||||
@@ -0,0 +1,18 @@
|
||||
# 需求
|
||||
|
||||
删除设备/设备模板/区域主控前进行校验
|
||||
|
||||
## issue
|
||||
|
||||
http://git.huangwc.com/pig/pig-farm-controller/issues/50
|
||||
|
||||
## 需求描述
|
||||
|
||||
1. 删除设备时检测是否被任务使用
|
||||
2. 删除设备模板时检测是否被设备使用
|
||||
3. 删除区域主控时检测是否被设备使用
|
||||
|
||||
# 实现
|
||||
|
||||
1. [重构计划领域](./plan_service_refactor.md)
|
||||
2. [让任务可以提供自身使用设备](./add_get_device_id_configs_to_task.md)
|
||||
Reference in New Issue
Block a user