fix:【iot】IotDeviceEventPostTriggerMatcher 应该使用 params 判断,而不是 data

This commit is contained in:
YunaiV 2025-11-24 19:44:02 +08:00
parent 27a0aca516
commit 94780ebcf3

View File

@ -48,13 +48,13 @@ public class IotDeviceEventPostTriggerMatcher implements IotSceneRuleTriggerMatc
// 2. 对于事件触发器通常不需要检查操作符和值只要事件发生即匹配
// 但如果配置了操作符和值则需要进行条件匹配
if (StrUtil.isNotBlank(trigger.getOperator()) && StrUtil.isNotBlank(trigger.getValue())) {
Object eventData = message.getData();
if (eventData == null) {
IotSceneRuleMatcherHelper.logTriggerMatchFailure(message, trigger, "消息中事件为空");
Object eventParams = message.getParams();
if (eventParams == null) {
IotSceneRuleMatcherHelper.logTriggerMatchFailure(message, trigger, "消息中事件数为空");
return false;
}
boolean matched = IotSceneRuleMatcherHelper.evaluateCondition(eventData, trigger.getOperator(), trigger.getValue());
boolean matched = IotSceneRuleMatcherHelper.evaluateCondition(eventParams, trigger.getOperator(), trigger.getValue());
if (!matched) {
IotSceneRuleMatcherHelper.logTriggerMatchFailure(message, trigger, "事件数据条件不匹配");
return false;