From d803609b8a2e43afcf5921f42f29ce7f6e68fb84 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期三, 08 十一月 2023 17:02:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 225 ++++++++++++------------------------------------------- 1 files changed, 51 insertions(+), 174 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java index 87540fa..317fd15 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java @@ -39,6 +39,7 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.external.domain.ArdEquipExternal; import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; @@ -51,6 +52,7 @@ import com.ruoyi.utils.tube.GeoPoint; import com.ruoyi.utils.tube.TubeTools; import lombok.extern.slf4j.Slf4j; +import org.gavaghan.geodesy.GlobalCoordinates; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -1002,32 +1004,43 @@ ardAlarmRadarMove.setId(uuid); ardAlarmRadarMove.setTargetId(targetId); ardAlarmRadarMove.setAlarmTime(radarAlarmData.getAlarmTime()); - ardAlarmRadarMove.setCreateTime(new Date()); + ardAlarmRadarMove.setCreateTime(DateUtils.covertTime(new Date())); ardAlarmRadarMove.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")"); ardAlarmRadarMove.setAlarmType("杩愬姩鐩爣妫�娴�"); ardAlarmRadarMove.setLongitude(longitude); ardAlarmRadarMove.setLatitude(latitude); ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime()); ardAlarmRadarMove.setRadarId(radarId); + Date alarmTime = ardAlarmRadarMove.getAlarmTime(); //鑾峰彇褰撳墠鍏磋叮鐐瑰綋鍓嶉浄杈剧殑涓婁竴鏉℃暟鎹� ArdAlarmRadarMove lastMoveData = ardAlarmRadarMoveMapper.selectArdAlarmRadarLastData(ardAlarmRadarMove.getName()); if (lastMoveData == null) { //鍏ュ簱 + ardAlarmRadarMove.setGuideTime(alarmTime); ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove); radarMoveGuide(ardAlarmRadarMove);//寮曞 } else { //鍚﹀垯姣斿鏇存柊鏃堕棿 Date lastUpdateTime = lastMoveData.getUpdateTime(); - Date alarmTime = ardAlarmRadarMove.getAlarmTime(); + Date lastGuideTime = lastMoveData.getGuideTime(); long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); if (secDatePoor <= radarMergeTime) { //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� ArdAlarmRadarMove updateData = new ArdAlarmRadarMove(); updateData.setId(lastMoveData.getId()); updateData.setUpdateTime(alarmTime); + + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + updateData.setGuideTime(alarmTime); + radarMoveGuide(ardAlarmRadarMove);//寮曞 + } ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(updateData); } else { //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarMove.setGuideTime(alarmTime); ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove); radarMoveGuide(ardAlarmRadarMove);//寮曞 } @@ -1046,7 +1059,7 @@ ardAlarmRadarFire.setId(uuid); ardAlarmRadarFire.setTargetId(targetId); ardAlarmRadarFire.setAlarmTime(radarAlarmData.getAlarmTime()); - ardAlarmRadarFire.setCreateTime(new Date()); + ardAlarmRadarFire.setCreateTime(DateUtils.covertTime(new Date())); ardAlarmRadarFire.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")"); ardAlarmRadarFire.setAlarmType("鐑簮妫�娴�"); ardAlarmRadarFire.setLongitude(longitude); @@ -1055,24 +1068,35 @@ ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime()); // ArdAlarmRadarFire lastFireData = ardAlarmRadarFireMapper.selectArdAlarmRadarLastData(ardAlarmRadarFire.getName()); + alarmTime = ardAlarmRadarFire.getAlarmTime(); if (lastFireData == null) { //鍏ュ簱 - + ardAlarmRadarFire.setGuideTime(alarmTime); ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire); radarFireGuide(ardAlarmRadarFire);//寮曞 } else { //鍚﹀垯姣斿鏇存柊鏃堕棿 Date lastUpdateTime = lastFireData.getUpdateTime(); - Date alarmTime = ardAlarmRadarFire.getAlarmTime(); + + Date lastGuideTime = lastFireData.getGuideTime(); long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); if (secDatePoor <= radarMergeTime) { //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� ArdAlarmRadarFire updateData = new ArdAlarmRadarFire(); updateData.setId(lastFireData.getId()); updateData.setUpdateTime(alarmTime); + + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + updateData.setGuideTime(alarmTime); + radarFireGuide(ardAlarmRadarFire);//寮曞 + } ardAlarmRadarFireMapper.updateArdAlarmRadarFire(updateData); } else { //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarFire.setGuideTime(alarmTime); ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire); radarFireGuide(ardAlarmRadarFire);//寮曞 } @@ -1084,10 +1108,11 @@ ardAlarmRadarPump.setId(uuid); ardAlarmRadarPump.setTargetId(targetId); ardAlarmRadarPump.setAlarmTime(radarAlarmData.getAlarmTime()); - ardAlarmRadarPump.setCreateTime(new Date()); + ardAlarmRadarPump.setCreateTime(DateUtils.covertTime(new Date())); ardAlarmRadarPump.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")"); ardAlarmRadarPump.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�"); ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime()); + alarmTime = ardAlarmRadarPump.getAlarmTime(); ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName); if (StringUtils.isNotNull(ardAlarmpointsWell)) { ardAlarmRadarPump.setLongitude(ardAlarmpointsWell.getLongitude()); @@ -1097,21 +1122,30 @@ ArdAlarmRadarPump lastPumpData = ardAlarmRadarPumpMapper.selectArdAlarmRadarLastData(ardAlarmRadarPump.getName()); if (lastPumpData == null) { //鍏ュ簱 + ardAlarmRadarPump.setGuideTime(alarmTime); ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump); radarPumpGuide(ardAlarmRadarPump);//寮曞 } else { //鍚﹀垯姣斿鏇存柊鏃堕棿 Date lastUpdateTime = lastPumpData.getUpdateTime(); - Date alarmTime = ardAlarmRadarPump.getAlarmTime(); + Date lastGuideTime = lastPumpData.getGuideTime(); long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); if (secDatePoor <= radarMergeTime) { //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� ArdAlarmRadarPump updateData = new ArdAlarmRadarPump(); updateData.setId(lastPumpData.getId()); updateData.setUpdateTime(alarmTime); + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + radarPumpGuide(ardAlarmRadarPump);//寮曞 + updateData.setGuideTime(alarmTime); + } ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(updateData); } else { //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarPump.setGuideTime(alarmTime); ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump); radarPumpGuide(ardAlarmRadarPump);//寮曞 } @@ -1341,30 +1375,31 @@ int index = name.indexOf("("); String alarmpointName = name.substring(0, index); //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢� - String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); - if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { - log.debug("鑾峰彇鍒伴浄杈惧涓婄殑鍏夌數:" + cameraIdWithTower); + ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); + if (StringUtils.isNotNull(cameraWithTower)) { + log.debug("鑾峰彇鍒伴浄杈惧涓婄殑鍏夌數:" + cameraWithTower.getId()); //濡傛灉闆疯揪濉斾笂鏈夊厜鐢� - messagesEnqueued(cameraIdWithTower, alarmId, alarmType, createTime, 1, 1, coordinate); + messagesEnqueued(cameraWithTower.getId(), alarmId, alarmType, createTime, 1, 1, coordinate); } else { - log.debug("鏈幏鍙栧埌闆疯揪濉斾笂鐨勫厜鐢�"); + log.debug("鏈幏鍙栧埌闆疯揪濉斾笂鐨勫厜鐢�,鏃犳硶寮曞"); } //鑾峰彇鎶ヨ鐐瑰叧鑱旂殑澶у厜鐢� ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName); if (StringUtils.isNotNull(ardAlarmpointsWell) && StringUtils.isNotEmpty(ardAlarmpointsWell.getCameraId())) { String cameraId = ardAlarmpointsWell.getCameraId(); - if (cameraId.equals(cameraIdWithTower)) { + if (cameraId.equals(cameraWithTower.getId())) { return; } log.info("鑾峰彇鍒版姤璀︾偣鍏宠仈鐨勫厜鐢�:" + cameraId); //濡傛灉鎶ヨ鐐瑰叧鑱斾簡鍏夌數 messagesEnqueued(cameraId, alarmId, alarmType, createTime, 1, 2, coordinate); } else { - log.debug("鏈幏鍙栧埌鎶ヨ鐐瑰叧鑱旂殑鍏夌數"); + log.debug("鏈幏鍙栧埌鎶ヨ鐐瑰叧鑱旂殑鍏夌數,鏃犳硶寮曞"); } } //闆疯揪绉诲姩寮曞 private void radarMoveGuide(ArdAlarmRadarMove ardAlarmRadarMove) { + log.debug("闆疯揪绉诲姩寮�濮嬪紩瀵�"); if (StringUtils.isNull(ardAlarmRadarMove.getLongitude()) || StringUtils.isNull(ardAlarmRadarMove.getLatitude())) { log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); return; @@ -1375,6 +1410,7 @@ } //闆疯揪闃茬伀寮曞 private void radarFireGuide(ArdAlarmRadarFire ardAlarmRadarFire) { + log.debug("闆疯揪闃茬伀寮�濮嬪紩瀵�"); if (StringUtils.isNull(ardAlarmRadarFire.getLongitude()) || StringUtils.isNull(ardAlarmRadarFire.getLatitude())) { log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); return; @@ -1385,6 +1421,7 @@ } //闆疯揪鎶芥补鏈哄仠鏈哄紩瀵� private void radarPumpGuide(ArdAlarmRadarPump ardAlarmRadarPump) { + log.debug("闆疯揪鎶芥补鏈哄仠鏈哄紑濮嬪紩瀵�"); if (StringUtils.isNull(ardAlarmRadarPump.getLongitude()) || StringUtils.isNull(ardAlarmRadarPump.getLatitude())) { //鍧愭爣涓虹┖涓嶅紩瀵� log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); @@ -1393,166 +1430,6 @@ double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//鎶ヨ鍧愭爣 //寮曞鍏ラ槦 radarGuideToQueue(ardAlarmRadarPump.getId(), ardAlarmRadarPump.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);//鏇存柊 - } - - - //姣忎釜鐐逛綅鏈紩瀵兼鏁� - private Map<String, Integer> unGuideCountMapMove = new HashMap<>(); - private Map<String, Integer> unGuideCountMapFire = new HashMap<>(); - private Map<String, Integer> unGuideCountMapPump = new HashMap<>(); - private void radarMoveGuide(List<ArdAlarmRadarMove> ardAlarmRadarMoves, RadarAlarmData radarAlarmData) { - //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦 - ardAlarmRadarMoves = ardAlarmRadarMoves.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarMove::getName))), ArrayList::new)); - if (ardAlarmRadarMoves.size() > 0) { - for (ArdAlarmRadarMove ardAlarmRadarMove : ardAlarmRadarMoves) { - //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞 - if (StringUtils.isNull(ardAlarmRadarMove.getLongitude()) || StringUtils.isNull(ardAlarmRadarMove.getLatitude())) { - //鍧愭爣涓虹┖涓嶅紩瀵� - continue; - } - double[] coordinate = new double[]{ardAlarmRadarMove.getLongitude(), ardAlarmRadarMove.getLatitude()};//鎶ヨ鍧愭爣 - //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞 - ArdAlarmRadarMove alarmRadarMove = redisCache.getCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁 - if (alarmRadarMove == null) { - //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹� - ardAlarmRadarMove.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName(), ardAlarmRadarMove, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis - unGuideCountMapMove.put(ardAlarmRadarMove.getName(), 0); - //寮曞鍏ラ槦 - radarGuideToQueue(ardAlarmRadarMove.getId(), radarAlarmData.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);//鏇存柊 - - } else { - //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁� - Integer count = unGuideCountMapMove.get(ardAlarmRadarMove.getName()); - if (count != null) { - if (count > 2) { - //鏈紩瀵兼鏁�3娆″悗杩涜寮曞 - ardAlarmRadarMove.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName(), ardAlarmRadarMove, 5, TimeUnit.MINUTES); - count = 0; - //寮曞鍏ラ槦 - - radarGuideToQueue(ardAlarmRadarMove.getId(), radarAlarmData.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate); - } else { - ardAlarmRadarMove.setGuideFlag(0); - count++; - } - } else { - ardAlarmRadarMove.setGuideFlag(0); - count = 0; - } - unGuideCountMapMove.put(ardAlarmRadarMove.getName(), count); - } - //鏇存柊 - ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(ardAlarmRadarMove); - } - } - //endregion - } - private void radarFireGuide(List<ArdAlarmRadarFire> ardAlarmRadarFires, RadarAlarmData radarAlarmData) { - //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦 - ardAlarmRadarFires = ardAlarmRadarFires.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarFire::getName))), ArrayList::new)); - if (ardAlarmRadarFires.size() > 0) { - for (ArdAlarmRadarFire ardAlarmRadarFire : ardAlarmRadarFires) { - //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞 - if (StringUtils.isNull(ardAlarmRadarFire.getLongitude()) || StringUtils.isNull(ardAlarmRadarFire.getLatitude())) { - //鍧愭爣涓虹┖涓嶅紩瀵� - continue; - } - double[] coordinate = new double[]{ardAlarmRadarFire.getLongitude(), ardAlarmRadarFire.getLatitude()};//鎶ヨ鍧愭爣 - //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞 - ArdAlarmRadarFire alarmRadarFire = redisCache.getCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁 - if (alarmRadarFire == null) { - //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹� - ardAlarmRadarFire.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName(), ardAlarmRadarFire, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis - unGuideCountMapFire.put(alarmRadarFire.getName(), 0); - //寮曞鍏ラ槦 - radarGuideToQueue(ardAlarmRadarFire.getId(), radarAlarmData.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate); - - } else { - //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁� - Integer count = unGuideCountMapFire.get(alarmRadarFire.getName()); - if (count != null) { - if (count > 2) { - //鏈紩瀵兼鏁�3娆″悗杩涜寮曞 - ardAlarmRadarFire.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName(), ardAlarmRadarFire, 5, TimeUnit.MINUTES); - count = 0; - //寮曞鍏ラ槦 - radarGuideToQueue(ardAlarmRadarFire.getId(), radarAlarmData.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate); - } else { - ardAlarmRadarFire.setGuideFlag(0); - count++; - } - } else { - ardAlarmRadarFire.setGuideFlag(0); - count = 0; - } - unGuideCountMapFire.put(ardAlarmRadarFire.getName(), count); - } - //鏇存柊 - ardAlarmRadarFireMapper.updateArdAlarmRadarFire(ardAlarmRadarFire); - } - } - //endregion - } - private void radarPumpGuide(List<ArdAlarmRadarPump> ardAlarmRadarPumps, RadarAlarmData radarAlarmData) { - //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦 - ardAlarmRadarPumps = ardAlarmRadarPumps.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarPump::getName))), ArrayList::new)); - if (ardAlarmRadarPumps.size() > 0) { - for (ArdAlarmRadarPump ardAlarmRadarPump : ardAlarmRadarPumps) { - //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞 - if (StringUtils.isNull(ardAlarmRadarPump.getLongitude()) || StringUtils.isNull(ardAlarmRadarPump.getLatitude())) { - //鍧愭爣涓虹┖涓嶅紩瀵� - continue; - } - double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//鎶ヨ鍧愭爣 - //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞 - ArdAlarmRadarPump alarmRadarPump = redisCache.getCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁 - if (alarmRadarPump == null) { - //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹� - ardAlarmRadarPump.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName(), ardAlarmRadarPump, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis - unGuideCountMapPump.put(alarmRadarPump.getName(), 0); - //寮曞鍏ラ槦 - radarGuideToQueue(ardAlarmRadarPump.getId(), radarAlarmData.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate); - - } else { - //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁� - Integer count = unGuideCountMapPump.get(ardAlarmRadarPump.getName()); - if (count != null) { - if (count > 2) { - //鏈紩瀵兼鏁�3娆″悗杩涜寮曞 - ardAlarmRadarPump.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName(), ardAlarmRadarPump, 5, TimeUnit.MINUTES); - count = 0; - //寮曞鍏ラ槦 - radarGuideToQueue(ardAlarmRadarPump.getId(), radarAlarmData.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate); - } else { - ardAlarmRadarPump.setGuideFlag(0); - count++; - } - } else { - ardAlarmRadarPump.setGuideFlag(0); - count = 0; - } - unGuideCountMapPump.put(ardAlarmRadarPump.getName(), count); - } - //鏇存柊 - ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(ardAlarmRadarPump); - } - } - //endregion } } -- Gitblit v1.9.3