소스 검색

更新小问题

lgy 4 년 전
부모
커밋
e98d9a0253

+ 25 - 25
src/main/java/com/persagy/service/impl/AlarmHandleServiceImpl.java

@@ -99,31 +99,31 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
     }
 
     private void validIotData(String dateTime, String meterId, String funcId, double value) throws SchedulerException, InterruptedException {
-        currentDataCache.putCurrentData(meterId, funcId, value);
         List<AlarmDefine> alarmDefines = alarmInfoCache.getAlarmDefinitionIdByMeterFuncId(meterId, funcId);
         for (AlarmDefine alarmDefine : alarmDefines) {
-            Condition condition = alarmDefine.getCondition();
-            List<JSONObject> codeDetail = condition.getInfoCodes();
-            boolean match = codeDetail.stream().allMatch(p -> currentDataCache.hasKey(p.getString("meterId"), p.getString("funcId")));
-            //报警定义的所有信息点都有采集数值,具备判断条件
-            if (match) {
-                String defineId = AlarmInfoCache.getAlarmDefineId(alarmDefine);
-                String trigger = condition.getTrigger();
-                String end = condition.getEnd();
-                HashMap paramMap = new HashMap<>();
-                for (int j = 0; j < codeDetail.size(); j++) {
-                    JSONObject code = codeDetail.get(j);
-                    paramMap.put(code.getString("infoCode"), currentDataCache.getCurrentData(code.getString("meterId"), code.getString("funcId")));
-                }
-                Expression triggerExp = AviatorEvaluator.compile(trigger, true);
-                Expression endExp = AviatorEvaluator.compile(end, true);
-                Boolean triggerResult = (Boolean) triggerExp.execute(paramMap);
-                Boolean endResult = (Boolean) endExp.execute(paramMap);
-                log.info("triggerResult:[{}],endResult:[{}]" , triggerResult,endResult);
-                if (triggerResult && endResult) {
-                    log.warn("报警触发条件和报警恢复条件同时满足,请检查,报警定义详情【{}】", alarmDefine.toString());
-                }
-                synchronized (defineId.intern()) {
+            String defineId = AlarmInfoCache.getAlarmDefineId(alarmDefine);
+            synchronized (defineId.intern()) {
+                currentDataCache.putCurrentData(meterId, funcId, value);
+                Condition condition = alarmDefine.getCondition();
+                List<JSONObject> codeDetail = condition.getInfoCodes();
+                boolean match = codeDetail.stream().allMatch(p -> currentDataCache.hasKey(p.getString("meterId"), p.getString("funcId")));
+                //报警定义的所有信息点都有采集数值,具备判断条件
+                if (match) {
+                    String trigger = condition.getTrigger();
+                    String end = condition.getEnd();
+                    HashMap paramMap = new HashMap<>();
+                    for (int j = 0; j < codeDetail.size(); j++) {
+                        JSONObject code = codeDetail.get(j);
+                        paramMap.put(code.getString("infoCode"), currentDataCache.getCurrentData(code.getString("meterId"), code.getString("funcId")));
+                    }
+                    Expression triggerExp = AviatorEvaluator.compile(trigger, true);
+                    Expression endExp = AviatorEvaluator.compile(end, true);
+                    Boolean triggerResult = (Boolean) triggerExp.execute(paramMap);
+                    Boolean endResult = (Boolean) endExp.execute(paramMap);
+                    log.info("triggerResult:[{}],endResult:[{}]" , triggerResult,endResult);
+                    if (triggerResult && endResult) {
+                        log.warn("报警触发条件和报警恢复条件同时满足,请检查,报警定义详情【{}】", alarmDefine.toString());
+                    }
                     AlarmState alarmState = alarmInfoCache.getAlarmState(defineId);
                     if (Objects.isNull(alarmState)) {
                         //默认正常报警状态
@@ -152,9 +152,9 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
                         //当前数据正常
                         handlerNowDataNormal(alarmDefine, dateTime, condition, defineId, endResult, alarmState,paramMap,meterId,funcId,value);
                     }
+                } else {
+                    log.warn("部分信息点没有数值:[{}]", codeDetail);
                 }
-            } else {
-                log.warn("部分信息点没有数值:[{}]", codeDetail);
             }
         }
     }

+ 24 - 0
src/main/resources/application-39Pj1101050013.yml

@@ -0,0 +1,24 @@
+group:
+  #需要更改
+  code: BT   #标识哪个接团 比如万达使用WD
+  alarm:
+    #需要更改
+    host: 127.0.0.1 #netty IP39.102.43.179
+    #需要更改
+    port: 9986          #netty 端口8826
+    #需要更改
+terminal:  #边缘端IOT采集程序地址
+  alarm:  # 拼接后的地址为ws://host:port/suffix
+    #需要更改
+    compress: false    #采用的是压缩方式还是不压缩方式  true-压缩 false-不压缩
+    #需要更改
+    host:  39.96.55.242  #172.17.233.176
+    #需要更改
+    port: 9984
+    #需要更改
+    suffix: websocket   #websocker后缀
+project:
+  #需要更改
+  iotid: 1101050013 #iot使用项目ID,不包含PJ
+  #需要更改
+  id: Pj1101050013 #项目ID

+ 2 - 2
src/main/resources/application-39Pj5001120003.yml

@@ -3,7 +3,7 @@ group:
   code: XG   #标识哪个接团 比如万达使用WD
   alarm:
     #需要更改
-    host: 127.0.0.1 #39.102.43.179  #netty IP
+    host: 39.102.43.179 #39.102.43.179  #netty IP
     #需要更改
     port: 9986          #netty 端口8826
     #需要更改
@@ -12,7 +12,7 @@ terminal:  #边缘端IOT采集程序地址
     #需要更改
     compress: false    #采用的是压缩方式还是不压缩方式  true-压缩 false-不压缩
     #需要更改
-    host: 39.102.54.110
+    host: 172.17.233.176
     #需要更改
     port: 9984 #9989
     #需要更改

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

@@ -12,7 +12,7 @@ terminal:  #边缘端IOT采集程序地址
     #需要更改
     compress: false    #采用的是压缩方式还是不压缩方式  true-压缩 false-不压缩
     #需要更改
-    host: 39.96.55.242  #39.102.54.110
+    host: 172.17.233.176  #39.102.54.110
     #需要更改
     port: 9984
     #需要更改