Browse Source

风机报警和升压站报警功能修改优化

shilin 1 year ago
parent
commit
7d79fdc285

+ 151 - 0
alarm-custom/pom.xml

@@ -13,10 +13,29 @@
     <name>alarm-custom</name>
     <url>http://maven.apache.org</url>
 
+
+
+
+    <!-- 统一管理jar包版本 -->
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <junit.version>4.12</junit.version>
+        <log4j.version>2.15.0</log4j.version>
+        <lombok.version>1.18.16</lombok.version>
+        <mysql.version>5.1.45</mysql.version>
+        <druid.version>1.2.5</druid.version>
+        <mybatis.spring.boot.version>1.3.2</mybatis.spring.boot.version>
+        <mybatis-plus.boot.starter.version>3.2.0</mybatis-plus.boot.starter.version>
+        <mybatis-plus.generator.version>3.3.2</mybatis-plus.generator.version>
+        <pgsql.version>42.2.5</pgsql.version>
+        <groovy.version>3.0.8</groovy.version>
+        <springframework.boot.version>2.2.2.RELEASE</springframework.boot.version>
+
     </properties>
 
+
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -51,5 +70,137 @@
             <artifactId>jackson-databind</artifactId>
             <version>2.14.3</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.opencsv</groupId>
+            <artifactId>opencsv</artifactId>
+            <version>4.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <version>${springframework.boot.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+            <version>${springframework.boot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+            <version>${lombok.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.1.10</version>
+        </dependency>
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.data</groupId>
+            <artifactId>spring-data-redis</artifactId>
+            <version>2.3.6.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis-plus.boot.starter.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>${mybatis-plus.generator.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.5.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.28</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.gyee</groupId>
+            <artifactId>common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.17</version>
+            <scope>compile</scope>
+        </dependency>
+        <!-- ********************** plugin ********************** -->
+        <!-- groovy-all -->
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+            <version>${groovy.version}</version>
+        </dependency>
+        <!-- xxl-job-core -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-job-core</artifactId>
+            <version>2.3.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+            <version>2.8.6</version>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.55.Final</version>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>${pgsql.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.1.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.taosdata.jdbc</groupId>
+            <artifactId>taos-jdbcdriver</artifactId>
+            <version>3.2.2</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 4 - 0
alarm-custom/src/main/java/com/gyee/alarm/feigns/IAlarmService.java

@@ -18,4 +18,8 @@ public interface IAlarmService {
     @RequestLine("POST /api/alarm/saveCtTags")
     void saveAlarm(List<AlarmTag> tasks);
 
+    @Headers({"Content-Type: application/json", "Accept: application/json"})
+    @RequestLine("POST /api/alarm/updateCtTags")
+    void updateAlarm(List<AlarmTag> tasks);
+
 }

+ 8 - 0
alarm-custom/src/main/java/com/gyee/alarm/model/vo/AlarmTag.java

@@ -21,6 +21,14 @@ public class AlarmTag {
      * 当前值
      */
     private Double val;
+    /**
+     * 结束时间戳
+     */
+    private Long endts;
 
+    /**
+     * 报警时长
+     */
+    private Double timeLong;
 
 }

+ 2 - 2
alarm-custom/src/main/java/com/gyee/alarm/service/AlarmCustomService.java

@@ -187,7 +187,7 @@ public class AlarmCustomService {
                 str.setLength(0);
                 str.append("总数:").append(alarmTags.size()).append(",线程数:").append(taskCount).append(",分块大小:").append(len);
 
-                new Thread(new AlarmThread(executor,  alarmService,  alarmTags,interval,str,readRows)).start();
+                new Thread(new AlarmThread(executor,  alarmService,  alarmls,interval,str,readRows)).start();
                 alarmls=new ArrayList<>();
                 len++;
             }
@@ -198,7 +198,7 @@ public class AlarmCustomService {
             str.setLength(0);
             str.append("总数:").append(alarmTags.size()).append(",线程数:").append(taskCount).append(",分块大小:").append(len);
 
-            new Thread(new AlarmThread(executor,  alarmService,  alarmTags,interval,str,readRows)).start();
+            new Thread(new AlarmThread(executor,  alarmService,  alarmls,interval,str,readRows)).start();
 
         }
 

+ 23 - 9
alarm-custom/src/main/java/com/gyee/alarm/task/thread/AlarmThreadPool.java

@@ -60,16 +60,28 @@ public class AlarmThreadPool implements Callable<String>, Serializable {
 			while (true)
 			{
 
-				List<AlarmTag>  alarmTags=new ArrayList<>();
+				List<AlarmTag>  saveAlarmTags=new ArrayList<>();
+				List<AlarmTag>  updateAlarmTags=new ArrayList<>();
 				for(AlarmCustomTag vo:alarmVoList)
 				{
 
-					checkRule(alarmTags,vo);
+					checkRule(saveAlarmTags,updateAlarmTags,vo);
 
-					logger.info(String.valueOf(threadPoolTaskData)+"报警数量:" + alarmTags.size());
+					logger.info(String.valueOf(threadPoolTaskData)+"新增报警数量:" + saveAlarmTags.size());
+					logger.info(String.valueOf(threadPoolTaskData)+"结束报警数量:" + updateAlarmTags.size());
 				}
 
-				alarmService.saveAlarm(alarmTags);
+				if(!saveAlarmTags.isEmpty())
+				{
+					alarmService.saveAlarm(saveAlarmTags);
+				}
+
+				if(!saveAlarmTags.isEmpty())
+				{
+					alarmService.updateAlarm(updateAlarmTags);
+				}
+
+
 				try {
 					Thread.sleep((interval * 1000));
 				} catch (InterruptedException e) {
@@ -87,7 +99,7 @@ public class AlarmThreadPool implements Callable<String>, Serializable {
 
 	}
 
-	private void checkRule(List<AlarmTag>  alarmTags,AlarmCustomTag ar) {
+	private void checkRule(List<AlarmTag>  saveAlarmTags,List<AlarmTag>  updateAlarmTags,AlarmCustomTag ar) {
 
 
 		try {
@@ -121,19 +133,21 @@ public class AlarmThreadPool implements Callable<String>, Serializable {
 							AlarmTag po=new AlarmTag();
 							po.setId(ar.getId());
 							po.setTs(new Date().getTime());
+							po.setEndts(new Date().getTime());
 							po.setVal(1.0);
+							po.setTimeLong(0.0);
 
-
-							alarmTags.add(po);
+							saveAlarmTags.add(po);
 
                         } else {
 							AlarmTag po=new AlarmTag();
 							po.setId(ar.getId());
 							po.setTs(new Date().getTime());
+							po.setEndts(new Date().getTime());
 							po.setVal(0.0);
+							po.setTimeLong(0.0);
 
-
-							alarmTags.add(po);
+							updateAlarmTags.add(po);
                         }
                     } else {
                        // System.out.print(obj.toString());

+ 3 - 3
alarm-custom/src/main/resources/application-jn.yml

@@ -1,6 +1,6 @@
 
 server:
-  port: 6012
+  port: 6013
   servlet:
     context-path: /
 
@@ -134,8 +134,8 @@ logging:
 
 #db url
 db:
-  url1: http://10.81.3.154:8021/ts
-  url2: http://10.81.3.154:8022/ts
+  url1: http://10.81.3.154:8011/ts
+  url2: http://10.81.3.154:8012/ts
 
 
 #参与计算的场站