소스 검색

更新边缘端报警

luoguangyi 3 년 전
부모
커밋
1121228f4c

+ 39 - 0
src/main/java/com/persagy/cache/TemperatureWarningCache.java

@@ -0,0 +1,39 @@
+package com.persagy.cache;
+
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.googlecode.aviator.AviatorEvaluator;
+import com.googlecode.aviator.Expression;
+import com.persagy.entity.AlarmDefine;
+import com.persagy.entity.AlarmState;
+import com.persagy.entity.Condition;
+import com.persagy.entity.TemperatureWarningState;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+
+/**
+ * @Description 温度预警事项
+ * @ClassName TemperatureWarningCache.java
+ * @author LuoGuangyi
+ * @version 1.0.0
+ * @createTime  2021/05/07 9:43
+ * @Since
+ */
+@Component
+@Slf4j
+public class TemperatureWarningCache {
+    /**
+     * 报警定义  <报警定义标识,温度预警事项状态>
+     */
+    private final ConcurrentHashMap<String, TemperatureWarningState> temperatureWarningStateMap = new ConcurrentHashMap<>();
+
+
+}

+ 52 - 0
src/main/java/com/persagy/entity/TemperatureWarningState.java

@@ -0,0 +1,52 @@
+package com.persagy.entity;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description 温度预警状态
+ * @ClassName TemperatureWarningState.java
+ * @author LuoGuangyi
+ * @version 1.0.0
+ * @createTime  2021/05/07 10:26
+ * @Since
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class TemperatureWarningState {
+    /**
+     * 报警定义ID
+     */
+    private String definitionId;
+    /**
+     * 报警状态( 0-正常 1-升温报警 2-降温预警)
+     */
+    private String state = "0";
+    /**
+     * 最近下一次数据
+     */
+    private Double latestData;
+    /**
+     * 连续升温次数
+     */
+    private int increTimes;
+    /**
+     * 连续降温次数
+     */
+    private int decreTimes;
+
+    public TemperatureWarningState(String definitionId) {
+        this.definitionId = definitionId;
+    }
+
+    @Override
+    public String toString() {
+        return JSONObject.toJSONString(this);
+    }
+
+}

+ 28 - 0
src/main/resources/application-39Pj4403050019.yml

@@ -0,0 +1,28 @@
+group:
+  #需要更改
+  code: ZS   #标识哪个接团 比如万达使用WD
+  alarm:
+    #需要更改
+    host: 39.102.43.179 #netty IP39.102.43.179
+    #需要更改
+    port: 9971          #netty 端口8826
+    #需要更改
+terminal: #边缘端IOT采集程序地址
+  alarm: # 拼接后的地址为ws://host:port/suffix
+    #需要更改
+    compress: false    #采用的是压缩方式还是不压缩方式  true-压缩 false-不压缩
+    #需要更改
+    host: 39.96.55.242  #172.17.233.176
+    #需要更改
+    port: 9980 #9984
+    #需要更改
+    suffix: websocket   #websocker后缀
+project:
+  #需要更改
+  iotid: 4403050019 #iot使用项目ID,不包含PJ
+  #需要更改
+  id: Pj4403050019 #项目ID
+spring:
+  datasource:
+    #需要更改
+    url: jdbc:mysql://39.102.43.179:9934/alarm-quartz-zs-hg?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false

+ 1 - 1
src/main/resources/application.yml

@@ -6,7 +6,7 @@ spring:
   application:
     name: zkt-project-alarm
   profiles:
-    active: Pj3201110003 #39Pj5001120003 #Pj4403070003 #Pj3201110003
+    active: 39Pj4403050019 #39Pj5001120003 #Pj4403070003 #Pj3201110003
   datasource:
     #需要更改
     url: jdbc:mysql://39.102.43.179:9934/alarm-quartz?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false

+ 2 - 0
src/main/resources/logback-spring.xml

@@ -48,6 +48,8 @@ configuration 子节点为 appender、logger、root       -->
             <!--查看   gunzip -c xx.log.gz | less-->
             <fileNamePattern>${LOG_HOME}/log.%d{yyyy-MM-dd}.log.%i.gz</fileNamePattern>
             <maxHistory>1</maxHistory><!--保存最近30天的日志-->
+            <totalSizeCap>2GB</totalSizeCap>
+            <cleanHistoryOnStart>true</cleanHistoryOnStart>
         </rollingPolicy>
         <encoder>
             <charset>UTF-8</charset>