task_message.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package rule
  2. type TaskLifecycleMessage struct {
  3. TaskId string `json:"task_id"`
  4. Action string `json:"action"`
  5. Data string `json:"data"` // 具体的任务操作配置JSON字符串
  6. }
  7. // TimerTaskMessage 定时任务消息
  8. type TimerTaskMessage struct {
  9. TaskId string `json:"task_id"` // 任务Id
  10. Cron string `json:"cron"` // 任务执行的cron表达式
  11. Times int `json:"times"` // 执行次数
  12. Actions []*TaskAction `json:"actions"` // 执行动作列表
  13. }
  14. // TaskAction 定时任务执行动作
  15. type TaskAction struct {
  16. EntityId string `json:"entity_id"` // 被执行实体Id,指向设备编码
  17. /*
  18. 动作对象类型。
  19. delay:延时
  20. device_issue:设备指令下发
  21. device_group_issue:群组指令下发
  22. */
  23. ActionExecutor string `json:"action_executor"` // 动作对象类型。
  24. SubEntityId string `json:"sub_entity_id"` // 实体子设备Id,如果需要
  25. ExecutorProperty *TaskExecutorProperty `json:"executor_property"` // 动作执行明细
  26. }
  27. // TaskExecutorProperty 定时任务执行动作执行参数
  28. type TaskExecutorProperty struct {
  29. /*
  30. 指令 code。当 action_executor 是 device_issue 或 device_group_issue 时,此参数必填。
  31. */
  32. FunctionCode string `json:"function_code"`
  33. /*
  34. 指令 value。当 action_executor 是 device_issue 或 device_group_issue 时,此参数必填。
  35. */
  36. FunctionValue map[string]interface{} `json:"function_value"`
  37. /*
  38. 延时时间。当 action_executor 是 delay 时,此参数必填。
  39. */
  40. DelaySeconds int64 `json:"delay_seconds"`
  41. }