diff --git a/jetlinks-components/tdengine-component/src/main/java/org/jetlinks/community/tdengine/things/TDengineThingDataHelper.java b/jetlinks-components/tdengine-component/src/main/java/org/jetlinks/community/tdengine/things/TDengineThingDataHelper.java index 5bc7c685f..1b9d775bc 100644 --- a/jetlinks-components/tdengine-component/src/main/java/org/jetlinks/community/tdengine/things/TDengineThingDataHelper.java +++ b/jetlinks-components/tdengine-component/src/main/java/org/jetlinks/community/tdengine/things/TDengineThingDataHelper.java @@ -14,6 +14,7 @@ import org.jetlinks.community.tdengine.TDEngineUtils; import org.jetlinks.community.tdengine.term.TDengineQueryConditionBuilder; import org.jetlinks.community.things.data.ThingsDataConstants; +import org.jetlinks.community.things.utils.ThingsDatabaseUtils; import org.jetlinks.core.metadata.Converter; import org.jetlinks.core.metadata.DataType; import org.jetlinks.community.Interval; @@ -100,11 +101,7 @@ public List prepareTerms(String metric, List terms) { .getColumn(metric, term.getColumn()) .ifPresent(meta -> { DataType type = meta.getValueType(); - if (isArrayTerm(type, term)) { - term.setValue(tryConvertList(type, term)); - } else if (type instanceof Converter) { - term.setValue(((Converter) type).convert(term.getValue())); - } + ThingsDatabaseUtils.tryConvertTermValue(type, term); }); } diff --git a/jetlinks-components/things-component/src/main/java/org/jetlinks/community/things/utils/ThingsDatabaseUtils.java b/jetlinks-components/things-component/src/main/java/org/jetlinks/community/things/utils/ThingsDatabaseUtils.java index 4f5195c01..5f72b2833 100644 --- a/jetlinks-components/things-component/src/main/java/org/jetlinks/community/things/utils/ThingsDatabaseUtils.java +++ b/jetlinks-components/things-component/src/main/java/org/jetlinks/community/things/utils/ThingsDatabaseUtils.java @@ -10,6 +10,8 @@ import org.hswebframework.ezorm.rdb.metadata.RDBColumnMetadata; import org.jetlinks.community.ConfigMetadataConstants; import org.jetlinks.community.utils.ConverterUtils; +import org.jetlinks.community.utils.TimeUtils; +import org.jetlinks.core.metadata.Converter; import org.jetlinks.core.metadata.DataType; import org.jetlinks.core.metadata.PropertyMetadata; import org.jetlinks.core.metadata.types.*; @@ -208,6 +210,33 @@ private static void appendTable(String table, StringBuilder builder) { } } + public static void tryConvertTermValue(DataType type, + Term term, + BiFunction tryConvertTermValue) { + tryConvertTermValue(type, + term, + ThingsDatabaseUtils::isDoNotConvertValue, + ThingsDatabaseUtils::maybeList, + tryConvertTermValue); + } + + public static void tryConvertTermValue(DataType type, + Term term) { + tryConvertTermValue(type, + term, + ThingsDatabaseUtils::tryConvertTermValue); + } + + public static Object tryConvertTermValue(DataType type, Object value) { + if (type instanceof DateTimeType) { + return TimeUtils.convertToDate(value).getTime(); + } else if (type instanceof Converter) { + return ((Converter) type).convert(value); + } + return value; + } + + public static void tryConvertTermValue(DataType type, Term term, BiPredicate isDoNotConvertValue, diff --git a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmHandler.java b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmHandler.java index 0fa465d6c..1938ae12e 100644 --- a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmHandler.java +++ b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmHandler.java @@ -2,6 +2,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.hswebframework.web.bean.FastBeanCopier; import org.hswebframework.web.i18n.LocaleUtils; @@ -471,6 +472,8 @@ public boolean isEffectiveTime(long timestamp) { } } + @Getter + @Setter public static class TriggerCache implements Externalizable { static final byte stateNormal = 0x01; @@ -530,6 +533,8 @@ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundExcept } } + @Getter + @Setter public static class RelieveCache implements Externalizable { private long reliveTime; diff --git a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmRuleHandler.java b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmRuleHandler.java index 1c0f15172..e0d884a70 100644 --- a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmRuleHandler.java +++ b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/alarm/DefaultAlarmRuleHandler.java @@ -434,6 +434,8 @@ public AlarmInfo copyWith(AlarmTargetInfo targetInfo) { } @Deprecated + @Getter + @Setter public static class RecordCache implements Externalizable { static final byte stateNormal = 0x01; diff --git a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/measurement/AlarmRecordMeasurementProvider.java b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/measurement/AlarmRecordMeasurementProvider.java index 6065b123f..601bdbb8c 100644 --- a/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/measurement/AlarmRecordMeasurementProvider.java +++ b/jetlinks-manager/rule-engine-manager/src/main/java/org/jetlinks/community/rule/engine/measurement/AlarmRecordMeasurementProvider.java @@ -26,18 +26,18 @@ public AlarmRecordMeasurementProvider(MeterRegistryManager registryManager, TimeSeriesManager timeSeriesManager) { super(AlarmDashboardDefinition.alarm, AlarmObjectDefinition.record); - registry = registryManager.getMeterRegister(AlarmTimeSeriesMetric.alarmStreamMetrics().getId()); +// registry = registryManager.getMeterRegister(AlarmTimeSeriesMetric.alarmStreamMetrics().getId()); addMeasurement(new AlarmRecordTrendMeasurement(timeSeriesManager)); addMeasurement(new AlarmRecordRankMeasurement(timeSeriesManager)); } - @EventListener - public void aggAlarmRecord(AlarmHistoryInfo info) { - registry - .counter("record-agg", getTags(info)) - .increment(); - } +// @EventListener +// public void aggAlarmRecord(AlarmHistoryInfo info) { +// registry +// .counter("record-agg", getTags(info)) +// .increment(); +// } diff --git a/pom.xml b/pom.xml index 7c9bb263d..7fc00de0e 100644 --- a/pom.xml +++ b/pom.xml @@ -22,15 +22,15 @@ ${java.version} - 4.0.18 + 4.0.19 - 4.1.3 + 4.1.4 - 1.2.4-SNAPSHOT + 1.2.4 1.0.6 - 1.0.18 + 1.0.19 1.0.3