浏览代码

bug修复

xushili 8 月之前
父节点
当前提交
38aba50a1b
共有 19 个文件被更改,包括 295 次插入932 次删除
  1. 47 0
      .gitignore
  2. 6 0
      .idea/dataSources.local.xml
  3. 11 0
      .idea/dataSources.xml
  4. 15 0
      .idea/jarRepositories.xml
  5. 36 891
      .idea/workspace.xml
  6. 1 1
      data-adapter/pom.xml
  7. 22 0
      data-adapter/src/main/java/com/gyee/dataadapter/dao/IHistoryDao.java
  8. 5 10
      data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/MqttTaosLatestDao.java
  9. 3 3
      data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/TaosConfig.java
  10. 31 14
      data-adapter/src/main/java/com/gyee/dataadapter/entity/PointData.java
  11. 73 0
      data-adapter/src/main/java/com/gyee/dataadapter/service/TaosDataService.java
  12. 3 0
      data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java
  13. 15 0
      data-adapter/src/main/resources/application.yaml
  14. 9 4
      generationXK-service/src/main/java/com/gyee/generation/config/mybatis/CustomizedSqlInjector.java
  15. 14 5
      generationXK-service/src/main/java/com/gyee/generation/config/mybatis/InsertOrUpdateBath.java
  16. 1 1
      generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconAnalysisSubtableBottomServiceImpl.java
  17. 1 1
      generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconStationPowerServiceImpl.java
  18. 1 1
      generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconSystemEfficiencyEquipmentServiceImpl.java
  19. 1 1
      generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconSystemEfficiencyServiceImpl.java

+ 47 - 0
.gitignore

@@ -0,0 +1,47 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml

+ 6 - 0
.idea/dataSources.local.xml

@@ -17,5 +17,11 @@
       <database-info product="" version="" jdbc-version="" driver-name="" driver-version="" dbms="POSTGRES" />
       <schema-mapping />
     </data-source>
+    <data-source name="TDData Source3.3.2" uuid="98fdb21b-6c01-4360-ba17-a912c461a279">
+      <database-info product="" version="" jdbc-version="" driver-name="" driver-version="" dbms="UNKNOWN" />
+      <secret-storage>master_key</secret-storage>
+      <user-name>root</user-name>
+      <schema-mapping />
+    </data-source>
   </component>
 </project>

+ 11 - 0
.idea/dataSources.xml

@@ -29,5 +29,16 @@
       <jdbc-url>jdbc:postgresql://123.60.219.66:5432/postgres</jdbc-url>
       <working-dir>$ProjectFileDir$</working-dir>
     </data-source>
+    <data-source source="LOCAL" name="TDData Source3.3.2" uuid="98fdb21b-6c01-4360-ba17-a912c461a279">
+      <driver-ref>32cedcb1-ba4b-45b2-8a73-afb0e89cadeb</driver-ref>
+      <synchronize>true</synchronize>
+      <configured-by-url>true</configured-by-url>
+      <jdbc-driver>com.taosdata.jdbc.rs.RestfulDriver</jdbc-driver>
+      <jdbc-url>jdbc:TAOS-RS://10.220.1.8:6041/</jdbc-url>
+      <jdbc-additional-properties>
+        <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
+      </jdbc-additional-properties>
+      <working-dir>$ProjectFileDir$</working-dir>
+    </data-source>
   </component>
 </project>

+ 15 - 0
.idea/jarRepositories.xml

@@ -31,5 +31,20 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="nexus" />
+      <option name="name" value="nexus" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="alimaven" />
+      <option name="name" value="aliyun maven" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
   </component>
 </project>

文件差异内容过多而无法显示
+ 36 - 891
.idea/workspace.xml


+ 1 - 1
data-adapter/pom.xml

@@ -89,7 +89,7 @@
         <dependency>
             <groupId>com.taosdata.jdbc</groupId>
             <artifactId>taos-jdbcdriver</artifactId>
-            <version>3.2.11</version>
+            <version>3.3.2</version>
         </dependency>
 
     </dependencies>

+ 22 - 0
data-adapter/src/main/java/com/gyee/dataadapter/dao/IHistoryDao.java

@@ -0,0 +1,22 @@
+package com.gyee.dataadapter.dao;
+
+import com.gyee.dataadapter.entity.PointData;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+public interface IHistoryDao {
+    Map<String, PointData> getLatest(String tagNames);
+    Map<String, PointData> getLatest(String... tagNames);
+    List<PointData> getHistoryRaw(String tagName, Date startTime, Date endTime);
+    List<PointData> getHistoryRaw(String tagName, long startTs, long endTs);
+    List<PointData> getHistorySnap(String tagName, long startTs, long endTs, Integer interval);
+    List<PointData> getHistorySnap(String tagName, Date startTime, Date endTime, Integer interval);
+    List<PointData> getHistoryStat(String tagName, Date startTime, Date endTime, Integer interval, Integer type);
+    PointData getHistoryStat0(String tagName, Date startTime, Date endTime, Integer type);
+    boolean writeLatest(List<PointData> dataList);
+    boolean writeLatest(PointData data);
+    Map<String, PointData> getHistorySection(long ts, String tagNames);
+    Map<String, PointData> getHistorySection(Date time, String tagNames);
+}

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

@@ -20,9 +20,6 @@ import java.util.stream.Collectors;
 @Component
 public class MqttTaosLatestDao implements ILatestDao {
 
-    @Value("${taoscz.db_name:point_ci}")
-    private String dbName;
-
     @Resource
     TaosConfig config;
 
@@ -41,13 +38,11 @@ public class MqttTaosLatestDao implements ILatestDao {
             StringBuilder sb = new StringBuilder();
             sb.append("INSERT INTO ");
             for (PointData obj : list) {
-                long time = obj.getTs();
                 String point = config.getTableName(obj.getTagName());
-                double value = obj.getValue();
-                sb.append(point).append(" USING ").append(config.getDbName())
-                        .append(".").append(config.getAIStableName())
-                        .append(" TAGS ('','','','','') VALUES (");
-                sb.append(time).append(",").append(value).append(") ");
+                sb.append(config.getDbName()).append(".").append(point).append(" USING ")
+                        .append(config.getDbName()).append(".").append(config.getAIStableName())
+                        .append(" TAGS ('','','','','') VALUES (").append(obj.getTs())
+                        .append(",").append(obj.getValue()).append(") ");
             }
             sb.append(";");
             val i = st.executeUpdate(sb.toString());
@@ -94,7 +89,7 @@ public class MqttTaosLatestDao implements ILatestDao {
             for (PointData obj : list) {
                 long time = obj.getTs();
                 String point = obj.getTagName();
-                long value = (long) obj.getValue();
+                long value = obj.getLongValue();
                 sb.append(point).append(" values (");
                 sb.append(time).append(",").append(value).append(")");
             }

+ 3 - 3
data-adapter/src/main/java/com/gyee/dataadapter/dao_mqtt_influxdb_taos/TaosConfig.java

@@ -20,7 +20,7 @@ public class TaosConfig {
     @Value("${taoscz.server_port:6030}")
     private int serverPort;
 
-    @Value("${taoscz.db_name:point_ci}")
+    @Value("${taoscz.db_name:js}")
     private String dbName;
 
     @Value("${taoscz.user_name:root}")
@@ -38,10 +38,10 @@ public class TaosConfig {
     @Value("${taoscz.driver_type:com.taosdata.jdbc.rs.RestfulDriver}")
     private String driverType;
 
-    @Value("${taoscz.ai_stable_name:windturbineai}")
+    @Value("${taoscz.ai_stable_name:point_ci}")
     private String aiStableName;
 
-    @Value("${taoscz.di_stable_name:windturbinedi}")
+    @Value("${taoscz.di_stable_name:point_di}")
     private String diStableName;
 
     private Connection connection = null;

+ 31 - 14
data-adapter/src/main/java/com/gyee/dataadapter/entity/PointData.java

@@ -1,6 +1,7 @@
 package com.gyee.dataadapter.entity;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.gyee.dataadapter.dao.TsDataType;
 
 import java.util.Date;
@@ -18,17 +19,20 @@ public class PointData {
     /**
      * 数据
      */
-    private double doubleValue;
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private Double doubleValue;
     /**
-     * boolean 数据
+     * Boolean 数据
      */
-    private boolean booleanValue;
-    private long longValue;
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private Boolean booleanValue;
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private Long longValue;
 
     public PointData() {
     }
 
-    public PointData(Date time, double doubleValue) {
+    public PointData(Date time, Double doubleValue) {
         this.time = time;
         this.doubleValue = doubleValue;
     }
@@ -39,15 +43,15 @@ public class PointData {
 
     @JsonIgnore
     public TsDataType getDataType() {
-        if (booleanValue) {
+        if (booleanValue != null) {
             return TsDataType.BOOLEAN;
-        } else if (longValue != 0) {
+        } else if (longValue != null) {
             return TsDataType.LONG;
         }
         return TsDataType.DOUBLE;
     }
 
-    public void setBooleanValue(boolean booleanValue) {
+    public void setBooleanValue(Boolean booleanValue) {
         this.booleanValue = booleanValue;
     }
 
@@ -71,16 +75,29 @@ public class PointData {
         this.tagName = tagName;
     }
 
-    public double getValue() {
-        if (booleanValue) {
-            return 1;
-        } else if (longValue != 0) {
-            doubleValue = longValue;
+    public Double getDoubleValue() {
+        return doubleValue;
+    }
+
+    public Boolean isBooleanValue() {
+        return booleanValue;
+    }
+
+    public long getLongValue() {
+        return longValue;
+    }
+
+    @JsonIgnore
+    public Double getValue() {
+        if (booleanValue != null) {
+            return booleanValue ? 1.0 : 0.0;
+        } else if (longValue != null) {
+            doubleValue = Double.valueOf(longValue);
         }
         return doubleValue;
     }
 
-    public void setDoubleValue(double doubleValue) {
+    public void setDoubleValue(Double doubleValue) {
         this.doubleValue = doubleValue;
     }
 

+ 73 - 0
data-adapter/src/main/java/com/gyee/dataadapter/service/TaosDataService.java

@@ -0,0 +1,73 @@
+package com.gyee.dataadapter.service;
+
+import com.gyee.dataadapter.dao.IHistoryDao;
+import com.gyee.dataadapter.entity.PointData;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class TaosDataService implements IHistoryDao {
+    @Override
+    public Map<String, PointData> getLatest(String tagNames) {
+        return Collections.emptyMap();
+    }
+
+    @Override
+    public Map<String, PointData> getLatest(String... tagNames) {
+        return Collections.emptyMap();
+    }
+
+    @Override
+    public List<PointData> getHistoryRaw(String tagName, Date startTime, Date endTime) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public List<PointData> getHistoryRaw(String tagName, long startTs, long endTs) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public List<PointData> getHistorySnap(String tagName, long startTs, long endTs, Integer interval) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public List<PointData> getHistorySnap(String tagName, Date startTime, Date endTime, Integer interval) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public List<PointData> getHistoryStat(String tagName, Date startTime, Date endTime, Integer interval, Integer type) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public PointData getHistoryStat0(String tagName, Date startTime, Date endTime, Integer type) {
+        return null;
+    }
+
+    @Override
+    public boolean writeLatest(List<PointData> dataList) {
+        return false;
+    }
+
+    @Override
+    public boolean writeLatest(PointData data) {
+        return false;
+    }
+
+    @Override
+    public Map<String, PointData> getHistorySection(long ts, String tagNames) {
+        return Collections.emptyMap();
+    }
+
+    @Override
+    public Map<String, PointData> getHistorySection(Date time, String tagNames) {
+        return Collections.emptyMap();
+    }
+}

+ 3 - 0
data-adapter/src/main/java/com/gyee/dataadapter/service/TsDataService.java

@@ -1,5 +1,6 @@
 package com.gyee.dataadapter.service;
 
+import com.gyee.dataadapter.dao.IHistoryDao;
 import com.gyee.dataadapter.dao.ILatestDao;
 import com.gyee.dataadapter.entity.PointData;
 import lombok.extern.slf4j.Slf4j;
@@ -17,6 +18,8 @@ public class TsDataService {
     private IAdapterService adapterService;
     @Resource
     private ILatestDao latestDao;
+    @Resource
+    private IHistoryDao historyDao;
 
     public Map<String, PointData> getLatest(String tagNames) {
         String[] split = tagNames.split(",");

+ 15 - 0
data-adapter/src/main/resources/application.yaml

@@ -26,3 +26,18 @@ subscribe:
   topic: scada/public/HUIANTOGUANGYAO/tag_values
   qos: 0
 
+#适配器链接taos数据库配置信息
+taoscz:
+  server_ip: 10.220.1.8
+  server_port: 6041
+  db_name: nxxny
+  user_name: root
+  password: taosdata
+  pool_size: 10
+  max_pool_size: 100
+  driver_type: com.taosdata.jdbc.rs.RestfulDriver
+  #  driver_type: com.taosdata.jdbc.TSDBDriver
+  #taos中ai测点的超级表名
+  di_stable_name: point_di
+  #taos中di测点的超级表名
+  ai_stable_name: point_ci

+ 9 - 4
generationXK-service/src/main/java/com/gyee/generation/config/mybatis/CustomizedSqlInjector.java

@@ -1,3 +1,4 @@
+/*
 package com.gyee.generation.config.mybatis;
 
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
@@ -5,18 +6,22 @@ import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
 
 import java.util.List;
 
+*/
 /**
  * 自定义方法SQL注入器
- */
+ *//*
+
 public class CustomizedSqlInjector extends DefaultSqlInjector {
-    /**
+    */
+/**
      * 如果只需增加方法,保留mybatis plus自带方法,
      * 可以先获取super.getMethodList(),再添加add
-     */
+     *//*
+
     @Override
     public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
         List<AbstractMethod> methodList = super.getMethodList(mapperClass);
         methodList.add(new InsertOrUpdateBath());
         return methodList;
     }
-}
+}*/

+ 14 - 5
generationXK-service/src/main/java/com/gyee/generation/config/mybatis/InsertOrUpdateBath.java

@@ -1,3 +1,4 @@
+/*
 package com.gyee.generation.config.mybatis;
 
 
@@ -10,6 +11,10 @@ import org.springframework.util.StringUtils;
 
 public class InsertOrUpdateBath extends AbstractMethod {
 
+    protected InsertOrUpdateBath(String methodName) {
+        super(methodName);
+    }
+
     @Override
     public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) {
         final String sql = "<script>insert into %s %s values %s ON DUPLICATE KEY UPDATE %s</script>";
@@ -23,12 +28,14 @@ public class InsertOrUpdateBath extends AbstractMethod {
         return this.addInsertMappedStatement(mapperClass, modelClass, "mysqlInsertOrUpdateBath", sqlSource, new NoKeyGenerator(), null, null);
     }
 
-    /**
+    */
+/**
      * 准备ON DUPLICATE KEY UPDATE sql
      *
      * @param tableInfo
      * @return
-     */
+     *//*
+
     private String prepareDuplicateKeySql(TableInfo tableInfo) {
         final StringBuilder duplicateKeySql = new StringBuilder();
         if (!StringUtils.isEmpty(tableInfo.getKeyColumn())) {
@@ -45,12 +52,14 @@ public class InsertOrUpdateBath extends AbstractMethod {
         return duplicateKeySql.toString();
     }
 
-    /**
+    */
+/**
      * 准备属性名
      *
      * @param tableInfo
      * @return
-     */
+     *//*
+
     private String prepareFieldSql(TableInfo tableInfo) {
         StringBuilder fieldSql = new StringBuilder();
         fieldSql.append(tableInfo.getKeyColumn()).append(",");
@@ -74,4 +83,4 @@ public class InsertOrUpdateBath extends AbstractMethod {
         valueSql.append("</foreach>");
         return valueSql.toString();
     }
-}
+}*/

+ 1 - 1
generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconAnalysisSubtableBottomServiceImpl.java

@@ -26,7 +26,7 @@ public class ProEconAnalysisSubtableBottomServiceImpl extends ServiceImpl<ProEco
                 QueryWrapper<ProEconAnalysisSubtableBottom> qw = new QueryWrapper<>();
                 qw.lambda().eq(ProEconAnalysisSubtableBottom::getRecordDate, i.getRecordDate());
                 qw.lambda().eq(ProEconAnalysisSubtableBottom::getMeterId, i.getMeterId());
-                int count = baseMapper.selectCount(qw);
+                long count = baseMapper.selectCount(qw);
                 if (count > 0) {
                     baseMapper.update(i, qw);
                 } else if (count <= 0) {

+ 1 - 1
generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconStationPowerServiceImpl.java

@@ -27,7 +27,7 @@ public class ProEconStationPowerServiceImpl extends ServiceImpl<ProEconStationPo
                 QueryWrapper<ProEconStationPower> qw = new QueryWrapper<>();
                 qw.lambda().eq(ProEconStationPower::getRecordDate, i.getRecordDate());
                 qw.lambda().eq(ProEconStationPower::getWindpowerstationId, i.getWindpowerstationId());
-                int count = baseMapper.selectCount(qw);
+                long count = baseMapper.selectCount(qw);
                 if (count <= 0) {
                     baseMapper.insert(i);
                 } else if (count > 0) {

+ 1 - 1
generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconSystemEfficiencyEquipmentServiceImpl.java

@@ -30,7 +30,7 @@ public class ProEconSystemEfficiencyEquipmentServiceImpl extends ServiceImpl<Pro
                 qw.lambda().eq(ProEconSystemEfficiencyEquipment::getDataDate, i.getDataDate());
                 qw.lambda().eq(ProEconSystemEfficiencyEquipment::getForeignKeyId, i.getForeignKeyId());
                 qw.lambda().eq(ProEconSystemEfficiencyEquipment::getStationId, i.getStationId());
-                int count = baseMapper.selectCount(qw);
+                long count = baseMapper.selectCount(qw);
                 if (count > 0) {
                     baseMapper.update(i, qw);
                 } else if (count <= 0) {

+ 1 - 1
generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconSystemEfficiencyServiceImpl.java

@@ -28,7 +28,7 @@ public class ProEconSystemEfficiencyServiceImpl extends ServiceImpl<ProEconSyste
                 QueryWrapper<ProEconSystemEfficiency> qw = new QueryWrapper<>();
                 qw.lambda().eq(ProEconSystemEfficiency::getDataDate, i.getDataDate());
                 qw.lambda().eq(ProEconSystemEfficiency::getForeignKeyId, i.getForeignKeyId());
-                int count = baseMapper.selectCount(qw);
+                long count = baseMapper.selectCount(qw);
                 if (count > 0) {
                     baseMapper.update(i, qw);
                 } else if (count <= 0) {