Skip to content

Commit ccd7f8b

Browse files
authored
feat(rule-engine): 添加字段分组名称支持 (#700)
* feat(rule-engine): 添加字段分组名称支持 - 在TermColumn中新增groupName字段 - 更新with方法以支持从PropertyMetadata获取分组名称 * refactor(rule-engine):优化场景条件列配置 - 使用 ConfigKey 动态处理分组名称配置 * 优化 * 优化
1 parent fbc756f commit ccd7f8b

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

jetlinks-components/common-component/src/main/java/org/jetlinks/community/PropertyMetadataConstants.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.jetlinks.community;
1717

1818
import org.jetlinks.community.utils.ConverterUtils;
19+
import org.jetlinks.core.config.ConfigKey;
1920
import org.jetlinks.core.message.DeviceMessage;
2021
import org.jetlinks.core.message.HeaderKey;
2122
import org.jetlinks.core.metadata.PropertyMetadata;
@@ -110,7 +111,7 @@ interface Metrics {
110111
String id = "metrics";
111112

112113

113-
static Map<String,Object> metricsToExpands(List<PropertyMetric> metrics) {
114+
static Map<String, Object> metricsToExpands(List<PropertyMetric> metrics) {
114115
return Collections.singletonMap(id, metrics);
115116
}
116117

@@ -126,7 +127,7 @@ static Optional<PropertyMetric> getMetric(PropertyMetadata metadata, String metr
126127
.getExpand(id)
127128
.map(obj -> {
128129
for (PropertyMetric propertyMetric : ConverterUtils.convertToList(obj, PropertyMetric::of)) {
129-
if(Objects.equals(metric, propertyMetric.getId())){
130+
if (Objects.equals(metric, propertyMetric.getId())) {
130131
return propertyMetric;
131132
}
132133
}
@@ -135,4 +136,22 @@ static Optional<PropertyMetric> getMetric(PropertyMetadata metadata, String metr
135136
}
136137

137138
}
139+
140+
interface Group {
141+
ConfigKey<String> id = ConfigKey.of("groupId", "分组ID", String.class);
142+
ConfigKey<String> name = ConfigKey.of("groupName", "分组名称", String.class);
143+
144+
145+
static String getId(PropertyMetadata metadata) {
146+
return metadata
147+
.getExpand(id)
148+
.orElse("");
149+
}
150+
151+
static String getName(PropertyMetadata metadata) {
152+
return metadata
153+
.getExpand(name)
154+
.orElse("");
155+
}
156+
}
138157
}

jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/scene/term/TermColumn.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ public TermColumn with(PropertyMetadata metadata) {
189189
setFullNameCode(I18nSpec.of(null, localeName));
190190
setFullName(fullNameCode.resolveI18nMessage());
191191
}
192+
others.put(PropertyMetadataConstants.Group.id.getKey(), PropertyMetadataConstants.Group.getId(metadata));
193+
others.put(PropertyMetadataConstants.Group.name.getKey(), PropertyMetadataConstants.Group.getName(metadata));
192194
return this;
193195
}
194196

0 commit comments

Comments
 (0)