From 06d3d15a5a08637041cc601101c063b11b07a346 Mon Sep 17 00:00:00 2001 From: net <net@netdeMBP.lan> Date: 星期五, 14 二月 2025 17:25:21 +0800 Subject: [PATCH] 合并理去杀杀人 --- zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 38 insertions(+), 5 deletions(-) diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java index bb8b97b..a06574d 100644 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java @@ -1,16 +1,20 @@ package com.zhitan.realtimedata.service.impl; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.google.common.collect.Lists; import com.zhitan.common.enums.CollectionModes; +import com.zhitan.common.enums.GroupTimeType; +import com.zhitan.common.enums.RetrievalModes; import com.zhitan.realtimedata.data.influxdb.InfluxDBRepository; import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.service.RealtimeDatabaseService; import org.apache.commons.collections4.CollectionUtils; +import org.joda.time.DateTime; +import org.joda.time.Seconds; import org.springframework.stereotype.Service; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; /** * 瀹炴椂鏁版嵁搴撳彇鏁版湇鍔″疄鐜扮被. @@ -20,7 +24,9 @@ private final InfluxDBRepository repository; - public RealtimeDatabaseServiceImpl(InfluxDBRepository repository) { + + public RealtimeDatabaseServiceImpl(InfluxDBRepository repository + ) { this.repository = repository; } @@ -109,7 +115,7 @@ @Override public TagValue statistics(String tagCode, Date beginTime, Date endTime, CollectionModes collectionModes) { List<TagValue> tagValues = repository.statistics(Collections.singletonList(tagCode), beginTime, endTime, collectionModes); - return CollectionUtils.isEmpty(tagValues) ? tagValues.get(0) : null; + return CollectionUtils.isNotEmpty(tagValues) ? tagValues.get(0) : null; } /** @@ -124,6 +130,20 @@ @Override public List<TagValue> statistics(List<String> tagCodes, Date beginTime, Date endTime, CollectionModes collectionModes) { return repository.statistics(tagCodes, beginTime, endTime, collectionModes); + } + + @Override + public List<TagValue> statistics(String tagCodes, Date beginTime, Date endTime, CollectionModes modes, GroupTimeType timeType) { + try { + List<String> tagCodeList = Arrays.asList(tagCodes.split(StrUtil.COMMA).clone()); + List<TagValue> tagValues = repository.statistics(tagCodeList, beginTime, endTime, modes, timeType); + if (ObjectUtil.isEmpty(tagValues)) { + tagValues = new ArrayList<>(); + } + return tagValues; + } catch (Exception e) { + return new ArrayList<>(); + } } /** @@ -146,4 +166,17 @@ repository.store(tagValues); } + @Override + public List<TagValue> retrieve(String tagCode, Date beginTime, Date endTime, + RetrievalModes retrievalModes, int pointCount) { + repository.getHistoryData(Collections.singletonList(tagCode), beginTime, endTime, pointCount); + pointCount = retrievalModes == RetrievalModes.Full ? 200 : pointCount; + int span = + Seconds.secondsBetween(new DateTime(beginTime), new DateTime(endTime)).getSeconds(); + int interval = span / pointCount; + List<String> tagCodes = new ArrayList<>(); + tagCodes.add(tagCode); + List<TagValue> historyData = repository.getHistoryData(tagCodes, beginTime, endTime, interval); + return historyData; + } } -- Gitblit v1.9.3