mirror of
https://gitee.com/zhijiantianya/yudao-cloud.git
synced 2025-12-30 09:22:27 +00:00
【同步】BOOT 和 CLOUD 的功能
This commit is contained in:
@@ -10,10 +10,10 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotSceneRuleDO;
|
|||||||
import cn.iocoder.yudao.module.iot.enums.rule.IotSceneRuleActionTypeEnum;
|
import cn.iocoder.yudao.module.iot.enums.rule.IotSceneRuleActionTypeEnum;
|
||||||
import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
|
import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
|
||||||
import cn.iocoder.yudao.module.iot.service.device.message.IotDeviceMessageService;
|
import cn.iocoder.yudao.module.iot.service.device.message.IotDeviceMessageService;
|
||||||
import jakarta.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotSceneRuleDO;
|
|||||||
import cn.iocoder.yudao.module.iot.enums.rule.IotSceneRuleActionTypeEnum;
|
import cn.iocoder.yudao.module.iot.enums.rule.IotSceneRuleActionTypeEnum;
|
||||||
import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
|
import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
|
||||||
import cn.iocoder.yudao.module.iot.service.device.message.IotDeviceMessageService;
|
import cn.iocoder.yudao.module.iot.service.device.message.IotDeviceMessageService;
|
||||||
import jakarta.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
||||||
|
|
||||||
@@ -46,16 +47,16 @@ public class IotSceneRuleMatcherManager {
|
|||||||
List<IotSceneRuleMatcher> allMatchers = matchers.stream()
|
List<IotSceneRuleMatcher> allMatchers = matchers.stream()
|
||||||
.filter(IotSceneRuleMatcher::isEnabled)
|
.filter(IotSceneRuleMatcher::isEnabled)
|
||||||
.sorted(Comparator.comparing(IotSceneRuleMatcher::getPriority))
|
.sorted(Comparator.comparing(IotSceneRuleMatcher::getPriority))
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
// 1.2 分离触发器匹配器和条件匹配器
|
// 1.2 分离触发器匹配器和条件匹配器
|
||||||
List<IotSceneRuleTriggerMatcher> triggerMatchers = allMatchers.stream()
|
List<IotSceneRuleTriggerMatcher> triggerMatchers = allMatchers.stream()
|
||||||
.filter(matcher -> matcher instanceof IotSceneRuleTriggerMatcher)
|
.filter(matcher -> matcher instanceof IotSceneRuleTriggerMatcher)
|
||||||
.map(matcher -> (IotSceneRuleTriggerMatcher) matcher)
|
.map(matcher -> (IotSceneRuleTriggerMatcher) matcher)
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
List<IotSceneRuleConditionMatcher> conditionMatchers = allMatchers.stream()
|
List<IotSceneRuleConditionMatcher> conditionMatchers = allMatchers.stream()
|
||||||
.filter(matcher -> matcher instanceof IotSceneRuleConditionMatcher)
|
.filter(matcher -> matcher instanceof IotSceneRuleConditionMatcher)
|
||||||
.map(matcher -> (IotSceneRuleConditionMatcher) matcher)
|
.map(matcher -> (IotSceneRuleConditionMatcher) matcher)
|
||||||
.toList();
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// 2.1 构建触发器匹配器映射表
|
// 2.1 构建触发器匹配器映射表
|
||||||
this.triggerMatchers = convertMap(triggerMatchers, IotSceneRuleTriggerMatcher::getSupportedTriggerType,
|
this.triggerMatchers = convertMap(triggerMatchers, IotSceneRuleTriggerMatcher::getSupportedTriggerType,
|
||||||
|
|||||||
Reference in New Issue
Block a user