task_message.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. Actions []*TaskAction `json:"actions"` // 执行动作列表
  12. }
  13. // TaskAction 定时任务执行动作
  14. type TaskAction struct {
  15. EntityId string `json:"entity_id"` // 被执行实体Id,指向设备编码
  16. /*
  17. 动作对象类型。
  18. delay:延时
  19. device_issue:设备指令下发
  20. device_group_issue:群组指令下发
  21. */
  22. ActionExecutor string `json:"action_executor"` // 动作对象类型。
  23. SubEntityId string `json:"sub_entity_id"` // 实体子设备Id,如果需要
  24. ExecutorProperty *TaskExecutorProperty `json:"executor_property"` // 动作执行明细
  25. }
  26. // TaskExecutorProperty 定时任务执行动作执行参数
  27. type TaskExecutorProperty struct {
  28. /*
  29. 指令 code。当 action_executor 是 device_issue 或 device_group_issue 时,此参数必填。
  30. */
  31. FunctionCode string `json:"function_code"`
  32. /*
  33. 指令 value。当 action_executor 是 device_issue 或 device_group_issue 时,此参数必填。
  34. */
  35. FunctionValue map[string]interface{} `json:"function_value"`
  36. /*
  37. 延时时间。当 action_executor 是 delay 时,此参数必填。
  38. */
  39. DelaySeconds int64 `json:"delay_seconds"`
  40. }