From 602c6e68101e88d275fe7313495c2009386c1965 Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期三, 12 二月 2025 14:04:07 +0800
Subject: [PATCH] 电能质量分析--负荷分析数据获取获取实时数据修改

---
 zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java |   19 ++++++++++++++-----
 1 files changed, 14 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 9e16113..eaddd6d 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
@@ -6,11 +6,12 @@
 import com.zhitan.common.enums.CollectionModes;
 import com.zhitan.common.enums.GroupTimeType;
 import com.zhitan.common.enums.RetrievalModes;
-import com.zhitan.realtimedata.data.RealtimeDatabaseManager;
 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.*;
@@ -23,11 +24,10 @@
 
     private final InfluxDBRepository repository;
 
-    private final RealtimeDatabaseManager realtimeDatabaseManager;
 
-    public RealtimeDatabaseServiceImpl(InfluxDBRepository repository, RealtimeDatabaseManager realtimeDatabaseManager) {
+    public RealtimeDatabaseServiceImpl(InfluxDBRepository repository
+    ) {
         this.repository = repository;
-        this.realtimeDatabaseManager = realtimeDatabaseManager;
     }
 
     /**
@@ -169,6 +169,15 @@
     @Override
     public List<TagValue> retrieve(String tagCode, Date beginTime, Date endTime,
                                    RetrievalModes retrievalModes, int pointCount) {
-        return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, 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;
+//        return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount);
     }
 }

--
Gitblit v1.9.3