xushili 5 mesiacov pred
rodič
commit
a5167a8bbe

+ 60 - 54
.idea/workspace.xml

@@ -4,46 +4,22 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="c9251c3e-9f2f-4b6c-a5f7-503156fe13c0" name="Changes" comment="宁夏风公司">
-      <change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager2.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/ILatestDao.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/TsDataType.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/TsPoint.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/ViewTspointMapper.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/TaosConfig.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/ThreadPoolTaskConfig.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/DoubleStatData.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/SourcePointData.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/ViewTspoint.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/TsPointService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/sqldialects.xml" beforeDir="false" />
+    <list default="true" id="c9251c3e-9f2f-4b6c-a5f7-503156fe13c0" name="Changes" comment="适配器适配">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/common/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/common/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/DataAdapterApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/DataAdapterApp.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/cache/MqttCache.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/cache/MqttCache.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/MqttConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/MqttConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager2.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager2.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/MqttServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/MqttServer.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/PushCallback.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/config/PushCallback.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/controller/AdapterController.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/controller/AdapterController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/controller/SubscribeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/controller/SubscribeController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/MyWebClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao/MyWebClient.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/Login.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/Login.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/PointData.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/PointData.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/PointInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/PointInfo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/TotalPointData.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/entity/TotalPointData.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/IAdapterService.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/IAdapterService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/impl/AdapterServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/impl/AdapterServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/generationXK-service/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/generationXK-service/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/runeconomy-xk/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/runeconomy-xk/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/config/MqttServer.class" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/config/MqttServer.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/controller/AdapterController.class" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/controller/AdapterController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.class" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/service/TsDataService.class" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/service/TsDataService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/service/impl/AdapterServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/data-adapter/target/classes/com/gyee/dataadapter/service/impl/AdapterServiceImpl.class" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -95,6 +71,11 @@
   </component>
   <component name="PropertiesComponent"><![CDATA[{
   "keyToString": {
+    "HTTP 请求.generated-requests | #259.executor": "Run",
+    "HTTP 请求.generated-requests | #260.executor": "Run",
+    "HTTP 请求.generated-requests | #261.executor": "Run",
+    "HTTP 请求.generated-requests | #262.executor": "Run",
+    "HTTP 请求.generated-requests | #263.executor": "Run",
     "JUnit.test.test1.executor": "Debug",
     "Maven.common [clean].executor": "Run",
     "Maven.common [compile].executor": "Run",
@@ -109,6 +90,7 @@
     "RunOnceActivity.OpenProjectViewOnStart": "true",
     "RunOnceActivity.ShowReadmeOnStart": "true",
     "SHARE_PROJECT_CONFIGURATION_FILES": "true",
+    "Spring Boot.DataAdapterApp.executor": "Debug",
     "Spring Boot.DataAdapterApplication.executor": "Debug",
     "Spring Boot.RunEconomyApplication.executor": "Debug",
     "WebServerToolWindowFactoryState": "false",
@@ -151,22 +133,21 @@
       </set>
     </option>
   </component>
-  <component name="RunManager" selected="Spring Boot.DataAdapterApplication">
-    <configuration name="test.test1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
-      <module name="runeconomy-xk" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.gyee.runeconomy.initalcache.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <option name="PACKAGE_NAME" value="com.gyee.runeconomy.initalcache" />
-      <option name="MAIN_CLASS_NAME" value="com.gyee.runeconomy.initalcache.test" />
-      <option name="METHOD_NAME" value="test1" />
-      <option name="TEST_OBJECT" value="method" />
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
+  <component name="RunManager" selected="Spring Boot.DataAdapterApp">
+    <configuration name="generated-requests | #259" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" index="259" requestIdentifier="#259" runType="运行单个请求">
+      <method v="2" />
+    </configuration>
+    <configuration name="generated-requests | #260" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" index="260" requestIdentifier="#260" runType="运行单个请求">
+      <method v="2" />
+    </configuration>
+    <configuration name="generated-requests | #261" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" index="261" requestIdentifier="#261" runType="运行单个请求">
+      <method v="2" />
+    </configuration>
+    <configuration name="generated-requests | #262" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" index="262" requestIdentifier="#262" runType="运行单个请求">
+      <method v="2" />
+    </configuration>
+    <configuration name="generated-requests | #263" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" index="263" requestIdentifier="#263" runType="运行单个请求">
+      <method v="2" />
     </configuration>
     <configuration default="true" type="JetRunConfigurationType">
       <module name="runeconomy-nx" />
@@ -211,7 +192,11 @@
     </configuration>
     <recent_temporary>
       <list>
-        <item itemvalue="JUnit.test.test1" />
+        <item itemvalue="HTTP 请求.generated-requests | #261" />
+        <item itemvalue="HTTP 请求.generated-requests | #262" />
+        <item itemvalue="HTTP 请求.generated-requests | #263" />
+        <item itemvalue="HTTP 请求.generated-requests | #260" />
+        <item itemvalue="HTTP 请求.generated-requests | #259" />
       </list>
     </recent_temporary>
   </component>
@@ -246,7 +231,8 @@
       <workItem from="1722999793754" duration="327000" />
       <workItem from="1726121000186" duration="2113000" />
       <workItem from="1726128426495" duration="6375000" />
-      <workItem from="1726275498465" duration="20700000" />
+      <workItem from="1726275498465" duration="21935000" />
+      <workItem from="1726622318617" duration="11884000" />
     </task>
     <task id="LOCAL-00001" summary="宁夏风公司">
       <option name="closed" value="true" />
@@ -256,7 +242,15 @@
       <option name="project" value="LOCAL" />
       <updated>1720423579183</updated>
     </task>
-    <option name="localTasksCounter" value="2" />
+    <task id="LOCAL-00002" summary="适配器适配">
+      <option name="closed" value="true" />
+      <created>1726304049440</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1726304049440</updated>
+    </task>
+    <option name="localTasksCounter" value="3" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -275,7 +269,19 @@
   </component>
   <component name="VcsManagerConfiguration">
     <MESSAGE value="宁夏风公司" />
-    <option name="LAST_COMMIT_MESSAGE" value="宁夏风公司" />
+    <MESSAGE value="适配器适配" />
+    <option name="LAST_COMMIT_MESSAGE" value="适配器适配" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/data-adapter/src/main/java/com/gyee/dataadapter/service/impl/AdapterServiceImpl.java</url>
+          <line>68</line>
+          <option name="timeStamp" value="26" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
   </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />

+ 3 - 1
data-adapter/src/main/java/com/gyee/dataadapter/config/DataConverterManager2.java

@@ -1,5 +1,6 @@
 package com.gyee.dataadapter.config;
 
+import cn.hutool.core.date.DateUtil;
 import com.gyee.dataadapter.cache.MqttCache;
 import com.gyee.dataadapter.entity.PointData;
 import lombok.Data;
@@ -62,6 +63,7 @@ public class DataConverterManager2 {
     private void initPoint() {
         while (index < datas.length) {
             getPointInfo();
+            pointCount++;
         }
     }
 
@@ -189,7 +191,7 @@ public class DataConverterManager2 {
         val /= 10000;
 
         index += count;
-        return new Date(val);
+        return DateUtil.offsetHour(new Date(val), 8);
     }
 
 

+ 16 - 20
data-adapter/src/main/java/com/gyee/dataadapter/config/MqttServer.java

@@ -46,28 +46,24 @@ public class MqttServer {
     /**
      * 发布者客户端和服务端建立连接
      */
-    public MqttClient publishConnect() {
+    public MqttClient publishConnect() throws MqttException {
         //防止重复创建MQTTClient实例
-        try {
-            if (publishClient == null) {
-                //先让客户端和服务器建立连接,MemoryPersistence设置clientid的保存形式,默认为以内存保存
-                publishClient = new MqttClient(config.getHost(), config.getClientid(), new MemoryPersistence());
-                //发布消息不需要回调连接
-                //client.setCallback(new PushCallback());
-            }
+        if (publishClient == null) {
+            //先让客户端和服务器建立连接,MemoryPersistence设置clientid的保存形式,默认为以内存保存
+            publishClient = new MqttClient(config.getHost(), config.getClientid(), new MemoryPersistence());
+            //发布消息不需要回调连接
+            //client.setCallback(new PushCallback());
+        }
 
-            MqttConnectOptions options = mqttConnect.getOptions();
-            //判断拦截状态*
-            if (!publishClient.isConnected()) {
-                publishClient.connect(options);
-                LOGGER.info("---------------------连接成功");
-            } else {//这里的逻辑是如果连接成功就重新连接
-                publishClient.disconnect();
-                publishClient.connect(mqttConnect.getOptions(options));
-                LOGGER.info("---------------------连接成功");
-            }
-        } catch (MqttException e) {
-            LOGGER.info(e.toString());
+        MqttConnectOptions options = mqttConnect.getOptions();
+        //判断拦截状态*
+        if (!publishClient.isConnected()) {
+            publishClient.connect(options);
+            LOGGER.info("---------------------连接成功");
+        } else {//这里的逻辑是如果连接成功就重新连接
+            publishClient.disconnect();
+            publishClient.connect(mqttConnect.getOptions(options));
+            LOGGER.info("---------------------连接成功");
         }
         return publishClient;
     }

+ 22 - 14
data-adapter/src/main/java/com/gyee/dataadapter/config/PushCallback.java

@@ -1,19 +1,21 @@
 package com.gyee.dataadapter.config;
 
-import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.thread.ThreadUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
 import org.eclipse.paho.client.mqttv3.MqttCallback;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.UnsupportedEncodingException;
 
 /**
  * 主要用来接收和处理订阅主题的消息
  */
+@Slf4j
 public class PushCallback implements MqttCallback {
-    private static final Logger LOGGER = LoggerFactory.getLogger(PushCallback.class);
+
+    private static final int RETRY_INTERVAL_MILLIS = 3000; // 5秒重试间隔
+    private static final int MAX_RETRIES = 500; // 最大重试次数
 
     private MqttServer mqttServer;
 
@@ -23,17 +25,23 @@ public class PushCallback implements MqttCallback {
 
 
     public void connectionLost(Throwable cause) {
-        // 连接丢失后,一般在这里面进行重连
-        LOGGER.info("---------------------连接断开,可以做重连");
-        mqttServer.subsribeConnect();
-
-        while (true) {
+        log.info("---------------------连接断开,正在重连");
+        int retries = 0;
+        while (retries < MAX_RETRIES) {
             try {
-                //如果没有发生异常说明连接成功,如果发生异常,则死循环
-                Thread.sleep(1000);
-                break;
+                // 尝试连接到服务器
+                mqttServer.publishConnect();
+                log.info("连接成功!");
+                break; // 成功连接后退出循环
             } catch (Exception e) {
-                continue;
+                retries++;
+                if (retries >= MAX_RETRIES) {
+                    log.error("连接次数超限:" + e.getMessage());
+                    return; // 退出程序
+                }
+                // 等待一段时间后再重试
+                log.info(RETRY_INTERVAL_MILLIS + "ms后重连!");
+                ThreadUtil.sleep(RETRY_INTERVAL_MILLIS);
             }
         }
     }
@@ -77,7 +85,7 @@ public class PushCallback implements MqttCallback {
             }
         }*/
         DataConverterManager2 dm = new DataConverterManager2(message.getPayload());
-        System.out.println(DateUtil.date().getMinutes());
+        System.out.print(dm.getPointCount() + ",");
     }
 
 }

+ 13 - 14
data-adapter/src/main/java/com/gyee/dataadapter/controller/AdapterController.java

@@ -50,23 +50,24 @@ public class AdapterController {
 
     @GetMapping("/history/snap")
     public List<PointData> getHistorySnap(@RequestParam("tagName") String tagName, @RequestParam("startTs") Long startTs,
-                                          @RequestParam("endTs") Long endTs, @RequestParam("interval") Integer interval) {
+                                          @RequestParam("endTs") Long endTs,
+                                          @RequestParam(value = "interval", required = false) Integer interval) {
 
         return tsDataService.getHistorySnap(tagName, startTs, endTs, interval);
     }
 
-    @GetMapping("/history/stat2")
-    public List<PointData> getHistoryStat2(@RequestParam("tagName") String tagName, @RequestParam("startTs") Long startTs,
-                                          @RequestParam("endTs") Long endTs, @RequestParam("interval") Integer interval,
-                                          @RequestParam("type") Integer type) {
-
+    @GetMapping("/history/stat")
+    public List<PointData> getHistoryStat(@RequestParam("tagName") String tagName,
+                                           @RequestParam("startTs") Long startTs, @RequestParam("endTs") Long endTs,
+                                           @RequestParam(value = "interval", required = false) Integer interval,
+                                           @RequestParam(value = "type", required = false) Integer type) {
         return tsDataService.getHistoryStat(tagName, new Date(startTs), new Date(endTs), interval, type);
     }
 
-    @GetMapping("/history/stat")
-    public List<DoubleStatData> getHistoryStat(@RequestParam("tagName") String tagName, @RequestParam("startTs") Long startTs,
-                                               @RequestParam("endTs") Long endTs, @RequestParam("interval") Integer interval) {
-
+    @GetMapping("/history/stat2")
+    public List<DoubleStatData> getHistoryStat2(@RequestParam("tagName") String tagName,
+                                               @RequestParam("startTs") Long startTs, @RequestParam("endTs") Long endTs,
+                                               @RequestParam(value = "interval", required = false) Integer interval) {
         List<DoubleStatData> result = new ArrayList<>();
         List<PointData> max = tsDataService.getHistoryStat(tagName, new Date(startTs), new Date(endTs), interval, 2);
         List<PointData> min = tsDataService.getHistoryStat(tagName, new Date(startTs), new Date(endTs), interval, 3);
@@ -81,14 +82,12 @@ public class AdapterController {
 
     @GetMapping("/history/section")
     public Map<String, PointData> getHistorySection(@RequestParam("tagNames") String tagNames, @RequestParam("ts") Long ts) {
-
-        return new HashMap<>();
+        return tsDataService.getHistorySection(ts, tagNames);
     }
 
     @PostMapping("/latest/batch")
     public boolean writeLatestBatch(@RequestBody List<PointData> PointDataList) {
-
-        return true;
+        return tsDataService.writeLatest(PointDataList);
     }
 
     @PostMapping("/latest")

+ 2 - 2
data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.java

@@ -73,7 +73,7 @@ public class MqttTaosLatestDao implements ILatestDao {
             for (PointData obj : list) {
                 long time = obj.getTs();
                 String point = obj.getTagName();
-                boolean value = obj.isBooleanValue();
+                boolean value = obj.getValue() == 1;
                 sb.append(point).append(" values (");
                 sb.append(time).append(",").append(value).append(") ");
             }
@@ -94,7 +94,7 @@ public class MqttTaosLatestDao implements ILatestDao {
             for (PointData obj : list) {
                 long time = obj.getTs();
                 String point = obj.getTagName();
-                long value = obj.getLongValue();
+                long value = (long) obj.getValue();
                 sb.append(point).append(" values (");
                 sb.append(time).append(",").append(value).append(")");
             }

+ 7 - 16
data-adapter/src/main/java/com/gyee/dataadapter/entity/PointData.java

@@ -1,5 +1,6 @@
 package com.gyee.dataadapter.entity;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.gyee.dataadapter.dao.TsDataType;
 
 import java.util.Date;
@@ -12,6 +13,7 @@ public class PointData {
      * 时间戳
      */
     private Date time;
+    @JsonIgnore
     private String tagName;
     /**
      * 数据
@@ -31,6 +33,11 @@ public class PointData {
         this.doubleValue = doubleValue;
     }
 
+    public long getTs() {
+        return time.getTime();
+    }
+
+    @JsonIgnore
     public TsDataType getDataType() {
         if (booleanValue) {
             return TsDataType.BOOLEAN;
@@ -40,22 +47,10 @@ public class PointData {
         return TsDataType.DOUBLE;
     }
 
-    public long getTs() {
-        return time.getTime();
-    }
-
-    public boolean isBooleanValue() {
-        return booleanValue;
-    }
-
     public void setBooleanValue(boolean booleanValue) {
         this.booleanValue = booleanValue;
     }
 
-    public long getLongValue() {
-        return longValue;
-    }
-
     public void setLongValue(long longValue) {
         this.longValue = longValue;
     }
@@ -85,10 +80,6 @@ public class PointData {
         return doubleValue;
     }
 
-    public double getDoubleValue() {
-        return doubleValue;
-    }
-
     public void setDoubleValue(double doubleValue) {
         this.doubleValue = doubleValue;
     }

+ 1 - 1
data-adapter/src/main/java/com/gyee/dataadapter/service/IAdapterService.java

@@ -21,7 +21,7 @@ public interface IAdapterService {
 
     List<PointData> getPointData(Date start, Date end, Integer sampleType, Integer sampleRate, String paths);
 
-    Map<String, List<PointData>> getPointData(Date start, Date end, Integer sampleType, Integer sampleRate, String... paths);
+    //Map<String, List<PointData>> getPointData(Date start, Date end, Integer sampleType, Integer sampleRate, String... paths);
 
     //实时数据接口
     Map<String, PointInfo> getLatestData(String paths);

+ 7 - 6
data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java

@@ -89,17 +89,18 @@ public class TsDataService {
         return writeLatest(Collections.singletonList(data));
     }
 
-    public Map<String, PointData> getHistorySection(long ts, String... tagNames) {
+    public Map<String, PointData> getHistorySection(long ts, String tagNames) {
         return getHistorySection(new Date(ts), tagNames);
     }
 
-    public Map<String, PointData> getHistorySection(Date time, String... tagNames) {
+    public Map<String, PointData> getHistorySection(Date time, String tagNames) {
         Map<String, PointData> result = new HashMap<>();
+        String[] split = tagNames.split(",");
         try {
-            Map<String, List<PointData>> pdsMap = adapterService.getPointData(time, time, 0, null, tagNames);
-            pdsMap.forEach((k, pds) -> {
-                result.put(k, pds.get(0));
-            });
+            for (String tagName : split) {
+                List<PointData> pdsMap = adapterService.getPointData(time, time, 1, null, tagName);
+                result.put(tagName, pdsMap.get(0));
+            }
             return result;
         } catch (Exception e) {
             log.error(e.getMessage());

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 4 - 10
data-adapter/src/main/java/com/gyee/dataadapter/service/impl/AdapterServiceImpl.java


BIN
data-adapter/target/classes/com/gyee/dataadapter/config/MqttServer.class


BIN
data-adapter/target/classes/com/gyee/dataadapter/controller/AdapterController.class


BIN
data-adapter/target/classes/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.class


BIN
data-adapter/target/classes/com/gyee/dataadapter/service/TsDataService.class


BIN
data-adapter/target/classes/com/gyee/dataadapter/service/impl/AdapterServiceImpl.class