2026-06-24 f4bd1f3c89d906131495a0aca5aaf82966378510
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package cn.iocoder.yudao.module.iot.service.rule.scene.action;
 
import cn.iocoder.yudao.module.iot.core.mq.message.IotDeviceMessage;
import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotSceneRuleDO;
import cn.iocoder.yudao.module.iot.enums.rule.IotSceneRuleActionTypeEnum;
 
import javax.annotation.Nullable;
 
/**
 * IoT 场景联动的执行器接口
 *
 * @author 芋道源码
 */
public interface IotSceneRuleAction {
 
    /**
     * 执行场景联动
     *
     * @param message 消息,允许空
     *                1. 空的情况:定时触发
     *                2. 非空的情况:设备触发
     * @param rule    规则
     * @param actionConfig  执行配置(实际对应规则里的哪条执行配置)
     */
    void execute(@Nullable IotDeviceMessage message,
                 IotSceneRuleDO rule,
                 IotSceneRuleDO.Action actionConfig) throws Exception;
 
    /**
     * 获得类型
     *
     * @return 类型
     */
    IotSceneRuleActionTypeEnum getType();
 
}