From f065e0997f11eb3507ea7f97d8879103c47f6785 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期三, 22 十一月 2023 15:54:41 +0800 Subject: [PATCH] 清淤越界处理 --- ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java | 2 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java | 10 +- ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java | 3 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 119 ++++++++++++++++++++------------------- 4 files changed, 68 insertions(+), 66 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java index cc3d87e..8517bb0 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java +++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java @@ -443,74 +443,75 @@ }else if("鏂藉皝".equals(type)){ fengType = 0; } - //1瑙e皝 - if(fengType==1){ - //濡傛灉涓嶆槸瑙e皝灏佺姸鎬侊紝鍒欏彂閫佹柦灏佸懡浠� - if(ardSyCarLocks.get(0).getRelayInfo()==0){ - Map<String,Object> map = new HashMap<>(); - map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 - map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� - map.put("res", String.valueOf(System.currentTimeMillis())); - String mapString = com.alibaba.fastjson.JSON.toJSONString(map); - MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); - mqttCustomerClient.connect(carId+"change"); - mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); - log.info("杞﹁締"+carId+"瑙e皝鍛戒护鍙戦�佹垚鍔燂紒"); -// mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"瑙e皝"); - } - } - //0鏂藉皝 - if(fengType==0){ - //閿佸紑鍏崇姸鎬� - int lockCloseNum = 0; - //濡傛灉涓嶆槸鏂藉皝鐘舵�侊紝鍒欏彂閫佹柦灏佸懡浠� - if(ardSyCarLocks.get(0).getRelayInfo()==1){ - for (int j = 0; j < ardSyCarLocks.size(); j++) { - ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j); - String currents = ardSyCarLock.getCurrents(); - Double currentInfo = ardSyCarLock.getCurrentInfo(); - //鐢垫祦鍊间负4.0鏄叧閿佺姸鎬� - if(currentInfo.equals(4.00) || currentInfo.equals(4)){ - lockCloseNum += 1; - }else { - String key = ""; - if(currents.equals("C01")){ - key = "D03"; - }else if(currents.equals("C02")){ - key = "D04"; - } - Map<String,Object> map = new HashMap(); - map.put(key, 0.01); - map.put("res", String.valueOf(System.currentTimeMillis())); - String mapString = com.alibaba.fastjson.JSON.toJSONString(map); - MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); - mqttCustomerClient.connect(carId+"change"); - mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); -// mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"寮�閿侊細"+currents); - while(true){ - ArdSyCarLock ardSyCarLock1 = lockService.getCurrentInfo(ardSyCarRtu.getId(),currents); - Double currentInfo1 = ardSyCarLock1.getCurrentInfo(); - if(currentInfo1.equals(4.00) || currentInfo1.equals(4)){ - lockCloseNum +=1; - break; - } - } - } - } - if(lockCloseNum == 2){ + if(ardSyCarLocks.size()>0){ + //1瑙e皝 + if(fengType==1){ + //濡傛灉涓嶆槸瑙e皝灏佺姸鎬侊紝鍒欏彂閫佹柦灏佸懡浠� + if(ardSyCarLocks.get(0).getRelayInfo()==0){ Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 + map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 + map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� map.put("res", String.valueOf(System.currentTimeMillis())); String mapString = com.alibaba.fastjson.JSON.toJSONString(map); MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); mqttCustomerClient.connect(carId+"change"); mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); - log.info("杞﹁締"+carId+"鏂藉皝鍛戒护鍙戦�佹垚鍔燂紒"); + log.info("杞﹁締"+carId+"瑙e皝鍛戒护鍙戦�佹垚鍔燂紒"); +// mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"瑙e皝"); + } + } + //0鏂藉皝 + if(fengType==0){ + //閿佸紑鍏崇姸鎬� + int lockCloseNum = 0; + //濡傛灉涓嶆槸鏂藉皝鐘舵�侊紝鍒欏彂閫佹柦灏佸懡浠� + if(ardSyCarLocks.get(0).getRelayInfo()==1){ + for (int j = 0; j < ardSyCarLocks.size(); j++) { + ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j); + String currents = ardSyCarLock.getCurrents(); + Double currentInfo = ardSyCarLock.getCurrentInfo(); + //鐢垫祦鍊间负4.0鏄叧閿佺姸鎬� + if(currentInfo.equals(4.00) || currentInfo.equals(4)){ + lockCloseNum += 1; + }else { + String key = ""; + if(currents.equals("C01")){ + key = "D03"; + }else if(currents.equals("C02")){ + key = "D04"; + } + Map<String,Object> map = new HashMap(); + map.put(key, 0.01); + map.put("res", String.valueOf(System.currentTimeMillis())); + String mapString = com.alibaba.fastjson.JSON.toJSONString(map); + MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); + mqttCustomerClient.connect(carId+"change"); + mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); +// mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"寮�閿侊細"+currents); + while(true){ + ArdSyCarLock ardSyCarLock1 = lockService.getCurrentInfo(ardSyCarRtu.getId(),currents); + Double currentInfo1 = ardSyCarLock1.getCurrentInfo(); + if(currentInfo1.equals(4.00) || currentInfo1.equals(4)){ + lockCloseNum +=1; + break; + } + } + } + } + if(lockCloseNum == 2){ + Map<String,Object> map = new HashMap<>(); + map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 + map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 + map.put("res", String.valueOf(System.currentTimeMillis())); + String mapString = com.alibaba.fastjson.JSON.toJSONString(map); + MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); + mqttCustomerClient.connect(carId+"change"); + mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); + log.info("杞﹁締"+carId+"鏂藉皝鍛戒护鍙戦�佹垚鍔燂紒"); // mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"鏂藉皝"); + } } } } } - } diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java index a761b97..7bfbea3 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java @@ -340,13 +340,13 @@ }else if(currents.equals("C02")){ key = "D04"; } - Number lockState = (Number) lockTypeParam.getNum(); - if(lockState.equals(100)){ + double lockState = lockTypeParam.getNum(); + if(lockState==100){ lockState = 99.99; - }else if(lockState.equals(0)){ + }else if(lockState==0){ lockState = 0.01; }else{ - lockState = lockState.doubleValue() + 0.01; + lockState = lockState + 0.01; } Map<String,Object> map = new HashMap(); map.put(key, lockState);//鑼冨洿鏄�0.01鍒�99.99 @@ -354,7 +354,7 @@ String mapString = JSON.toJSONString(map); System.out.println(mapString); MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); - mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"); + mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID()); mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); return AjaxResult.success("寮�鍏抽攣鍛戒护鍙戦�佹垚鍔�,鍙戦�佽繘搴︿负"+lockTypeParam.getNum()); // QueryWrapper<SysConfig> queryWrapper1 = new QueryWrapper<>(); diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java index 455d8a1..864148a 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java +++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java @@ -8,6 +8,7 @@ import javax.annotation.PostConstruct; import java.util.List; +import java.util.UUID; @Slf4j @Component @@ -28,7 +29,7 @@ String subscribe = rtu.getTopicSubscribe(); try { MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); - mqttCustomerClient.connect(carId+"mqtt"); + mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID()); mqttCustomerClient.subscribe(subscribe); }catch (Exception e) { e.printStackTrace(); diff --git a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java index 910d32f..4f9fb64 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java +++ b/ard-work/src/main/java/com/ruoyi/utils/qymqtt/PushCallback.java @@ -46,7 +46,7 @@ @Override public void messageArrived(String topic, MqttMessage message) throws Exception { try { -// System.out.println("銆愯溅杈嗛攣涓婚銆戯細"+topic+"銆愯溅杈嗛攣淇℃伅銆戯細"+new String(message.getPayload(), StandardCharsets.UTF_8)); + System.out.println("銆愯溅杈嗛攣涓婚銆戯細"+topic+"銆愯溅杈嗛攣淇℃伅銆戯細"+new String(message.getPayload(), StandardCharsets.UTF_8)); //鍑烘潵鍥炶皟鏁版嵁 List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); //鏍规嵁topic鏌ヨRTUID -- Gitblit v1.9.3