Browse Source

去掉报警生效时间段配置

lixing 3 years ago
parent
commit
fa7eed33aa

+ 63 - 56
src/main/java/com/persagy/service/impl/AlarmDefineServiceImpl.java

@@ -1,11 +1,9 @@
 package com.persagy.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.TypeReference;
 import com.persagy.cache.AlarmInfoCache;
 import com.persagy.entity.AlarmDefine;
-import com.persagy.entity.NettyMessage;
 import com.persagy.service.AlarmDefineService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,75 +17,84 @@ import java.util.List;
  * @version:V1.0
  **/
 @Service
+@Slf4j
 public class AlarmDefineServiceImpl implements AlarmDefineService {
     @Autowired
     AlarmInfoCache alarmInfoCache;
 
     @Override
     public List listAllAlarmDefine(List<AlarmDefine> alarmDefineList) {
-//        String ad = "{\n" +
-//                "    \"streamId\": \"\",\n" +
-//                "    \"opCode\": \"\",\n" +
-//                "    \"content\": [\n" +
-//                "        {\n" +
-//                "            \"id\": 1,\n" +
-//                "            \"objId\": \"obj1\",\n" +
-//                "            \"itemCode\": \"1055\",\n" +
-//                "            \"projectId\": \"xxx\",\n" +
-//                "            \"name\": \"室内高温\",\n" +
-//                "            \"dealFunc\": \"point\",\n" +
-//                "            \"category\": \"环境报警\",\n" +
-//                "            \"level\": \"B\",\n" +
-//                "            \"remark\": \"我是备注哈\",\n" +
-//                "            \"open\": 1,\n" +
-//                "            \"condition\": {\n" +
-//                "                \"infoCode\": [\n" +
-//                "                    \"$infoCode1\",\n" +
-//                "                    \"$infoCode1\"\n" +
-//                "                ],\n" +
-//                "                \"infoCodeId\": [\n" +
-//                "                    {\n" +
-//                "                        \"infoCode\": \"infoCode1\",\n" +
-//                "                        \"meterId\": \"11\",\n" +
-//                "                        \"funcId\": \"12\"\n" +
-//                "                    },\n" +
-//                "                    {\n" +
-//                "                        \"infoCode\": \"infoCode2\",\n" +
-//                "                        \"meterId\": \"21\",\n" +
-//                "                        \"funcId\": \"22\"\n" +
-//                "                    }\n" +
-//                "                ],\n" +
-//                "                \"trigger\": \"($infoCode1 > 10 && $infoCode1 < 20) && ($infoCode2 < 20)\",\n" +
-//                "                \"end\": \"!($infoCode1 < 20 && $infoCode1 > 10)\",\n" +
-//                "                \"$triggerUphold\": 10,\n" +
-//                "                \"$endUphold\": 5,\n" +
-//                "                \"$time\": {\n" +
-//                "                    \"type\": \"period\",\n" +
-//                "                    \"period\": {\n" +
-//                "                        \"$gt\": \"090000\",\n" +
-//                "                        \"$lt\": \"210000\"\n" +
-//                "                    }\n" +
-//                "                }\n" +
-//                "            }\n" +
-//                "        }\n" +
-//                "    ]\n" +
-//                "}";
-//        NettyMessage<AlarmDefine> message = JSONObject.parseObject(ad,  new TypeReference<NettyMessage<AlarmDefine>>(){});
-//        List<AlarmDefine> alarmDefineList =message.getContent();
+        //        String ad = "{\n" +
+        //                "    \"streamId\": \"\",\n" +
+        //                "    \"opCode\": \"\",\n" +
+        //                "    \"content\": [\n" +
+        //                "        {\n" +
+        //                "            \"id\": 1,\n" +
+        //                "            \"objId\": \"obj1\",\n" +
+        //                "            \"itemCode\": \"1055\",\n" +
+        //                "            \"projectId\": \"xxx\",\n" +
+        //                "            \"name\": \"室内高温\",\n" +
+        //                "            \"dealFunc\": \"point\",\n" +
+        //                "            \"category\": \"环境报警\",\n" +
+        //                "            \"level\": \"B\",\n" +
+        //                "            \"remark\": \"我是备注哈\",\n" +
+        //                "            \"open\": 1,\n" +
+        //                "            \"condition\": {\n" +
+        //                "                \"infoCode\": [\n" +
+        //                "                    \"$infoCode1\",\n" +
+        //                "                    \"$infoCode1\"\n" +
+        //                "                ],\n" +
+        //                "                \"infoCodeId\": [\n" +
+        //                "                    {\n" +
+        //                "                        \"infoCode\": \"infoCode1\",\n" +
+        //                "                        \"meterId\": \"11\",\n" +
+        //                "                        \"funcId\": \"12\"\n" +
+        //                "                    },\n" +
+        //                "                    {\n" +
+        //                "                        \"infoCode\": \"infoCode2\",\n" +
+        //                "                        \"meterId\": \"21\",\n" +
+        //                "                        \"funcId\": \"22\"\n" +
+        //                "                    }\n" +
+        //                "                ],\n" +
+        //                "                \"trigger\": \"($infoCode1 > 10 && $infoCode1 < 20) && ($infoCode2 < 20)\",\n" +
+        //                "                \"end\": \"!($infoCode1 < 20 && $infoCode1 > 10)\",\n" +
+        //                "                \"$triggerUphold\": 10,\n" +
+        //                "                \"$endUphold\": 5,\n" +
+        //                "                \"$time\": {\n" +
+        //                "                    \"type\": \"period\",\n" +
+        //                "                    \"period\": {\n" +
+        //                "                        \"$gt\": \"090000\",\n" +
+        //                "                        \"$lt\": \"210000\"\n" +
+        //                "                    }\n" +
+        //                "                }\n" +
+        //                "            }\n" +
+        //                "        }\n" +
+        //                "    ]\n" +
+        //                "}";
+        //        NettyMessage<AlarmDefine> message = JSONObject.parseObject(ad,  new TypeReference<NettyMessage<AlarmDefine>>(){});
+        //        List<AlarmDefine> alarmDefineList =message.getContent();
+        log.info("开始清除内存中历史报警定义");
         alarmInfoCache.clearAllAlarmDefine();
+        log.info("清除内存中历史报警定义完成");
+        int count = alarmDefineList.size();
+        log.info("共{}条报警定义待存入内存",count);
+        log.info("报警定义开始存入内存");
         for (AlarmDefine alarmDefine : alarmDefineList) {
             alarmInfoCache.putAlarmDefinitionById(alarmDefine);
+            count--;
+            if (count % 100 == 0) {
+                log.info("还剩{}条报警定义待存入内存", count);
+            }
         }
         return alarmDefineList;
     }
 
     /**
-     * @description:批量修改(添加)报警定义
-     * (根据报警条目+对象Id先删除,再添加)
+     * @param alarmDefineList:
+     * @description:批量修改(添加)报警定义 (根据报警条目+对象Id先删除,再添加)
      * @exception:
      * @author: LuoGuangyi
      * @company: Persagy Technology Co.,Ltd
-     * @param alarmDefineList:
      * @return: void
      * @since: 2020/10/26 20:38
      * @version: V1.0
@@ -101,11 +108,11 @@ public class AlarmDefineServiceImpl implements AlarmDefineService {
     }
 
     /**
+     * @param alarmDefineList:
      * @description:根据标号功能号删除报警定义
      * @exception:
      * @author: LuoGuangyi
      * @company: Persagy Technology Co.,Ltd
-     * @param alarmDefineList:
      * @return: void
      * @since: 2020/10/29 18:26
      * @version: V1.0

+ 7 - 5
src/main/resources/application.yml

@@ -102,8 +102,10 @@ autolog:
     request-timeout-ms: 30000
     key-serializer: org.apache.kafka.common.serialization.StringSerializer
     value-serializer: org.apache.kafka.common.serialization.StringSerializer
-user:
-  define:
-    period:
-      start: '220000'
-      end: '080000'
+# 2021-12-23万达高效运行中通过控制采集值的发送时间来控制报警产生的时间,不再需要在报警引擎中定义报警生效时间段
+# 去掉自定义报警生效时间段
+#user:
+#  define:
+#    period:
+#      start: '220000'
+#      end: '080000'