fix(场景联动): 设备触发添加所属产品作为条件 (#314)

---------

Co-authored-by: zhou-hao <zh.sqy@qq.com>
This commit is contained in:
Zhang Ji 2023-06-07 11:09:15 +08:00 committed by GitHub
parent 1355f5209f
commit c4cb274569
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -13,6 +13,7 @@ import org.hswebframework.ezorm.rdb.operator.builder.fragments.SqlFragments;
import org.hswebframework.web.bean.FastBeanCopier;
import org.hswebframework.web.i18n.LocaleUtils;
import org.hswebframework.web.validator.ValidatorUtils;
import org.jetlinks.community.rule.engine.executor.device.DeviceSelectorProviders;
import org.jetlinks.core.device.DeviceRegistry;
import org.jetlinks.core.metadata.DeviceMetadata;
import org.jetlinks.core.metadata.types.StringType;
@ -470,7 +471,17 @@ public class DeviceTrigger extends DeviceSelectorSpec implements Serializable {
config.setProductId(productId);
config.setMessage(operation.toMessageTemplate());
config.setSelectorSpec(FastBeanCopier.copy(this, new DeviceSelectorSpec()));
if (DeviceSelectorProviders.isFixed(this)) {
config.setSelectorSpec(FastBeanCopier.copy(this, new DeviceSelectorSpec()));
} else {
config.setSelectorSpec(
DeviceSelectorProviders.composite(
//先选择产品下的设备
DeviceSelectorProviders.product(this.productId),
FastBeanCopier.copy(this, new DeviceSelectorSpec())
));
}
config.validate();
deviceNode.setConfiguration(config.toMap());