From 06842b9c367083c3bf77b8b54a1e1a32b68a2e5e Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期六, 06 七月 2024 09:02:33 +0800 Subject: [PATCH] 电磁锁分页bug修改提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java | 97 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 75 insertions(+), 22 deletions(-) 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 a4fe578..ad1fbed 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 @@ -28,11 +28,12 @@ import org.springframework.stereotype.Service; import java.util.*; +import java.util.concurrent.TimeUnit; /** * @author Administrator */ -@Slf4j +@Slf4j(topic = "mqttCar") @Service public class ArdSyCarLockServiceImpl implements ArdSyCarLockService { @@ -177,6 +178,8 @@ rtuVo.setRtu(ardSyCar.getReserved1()); rtuVo.setTopicPublish(ardSyCarRtu.getTopicPublish()); rtuVo.setTopicSubscribe(ardSyCarRtu.getTopicSubscribe()); + rtuVo.setInstallType(ardSyCarRtu.getInstallType()); + rtuVo.setUnloadType(ardSyCarRtu.getUnloadType()); return rtuVo; } @@ -192,13 +195,21 @@ @Override public List<CarVo> queryCar(List<String> list) { - QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); +// QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); +// if(list.size()>0){ +// queryWrapper.ne("reserved_1","").notIn("car_id",list); +// }else { +// queryWrapper.ne("reserved_1",""); +// } +// List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper); + List<ArdSyCar> ardSyCars = new ArrayList<>(); if(list.size()>0){ - queryWrapper.ne("reserved_1","").notIn("car_id",list); + QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); + queryWrapper.notIn("car_id",list); + ardSyCars = ardSyCarMapper.selectList(queryWrapper); }else { - queryWrapper.ne("reserved_1",""); + ardSyCars = ardSyCarMapper.selectList(null); } - List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper); return carAnalysis(ardSyCars); } @@ -258,7 +269,7 @@ // map.put("res", String.valueOf(System.currentTimeMillis())); // String mapString = JSON.toJSONString(map); String mapString = "{\"A01\":110000,\"A02\":110000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}"; - log.info("瑙e皝锛�"+mapString); + log.debug("瑙e皝锛�"+mapString); EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID()); emqClient.connect(); emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false); @@ -271,6 +282,11 @@ int lockCloseNum = 0; //鏌ヨ閿佷俊鎭� List<ArdSyCarLock> ardSyCarLocks = carLock(ardSyCarRtu.getId()); + String mapString1 = "{\"A01\":100000,\"A02\":100000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}"; + System.out.println("鏂藉皝锛�"+mapString1); + EmqClient emqClient1 = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID()); + emqClient1.connect(); + emqClient1.publish(ardSyCarRtu.getTopicPublish(),mapString1, QosEnum.QoS2,false); for (int j = 0; j < ardSyCarLocks.size(); j++) { ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j); String currents = ardSyCarLock.getCurrents(); @@ -290,11 +306,13 @@ // map.put("res", String.valueOf(System.currentTimeMillis())); // String mapString = JSON.toJSONString(map); String mapString = "{\""+key+"\":0.01,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}"; - log.info("鍏抽攣锛�"+mapString); + log.debug("鍏抽攣锛�"+mapString); EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID()); emqClient.connect(); emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false); // mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"寮�閿侊細"+currents); +// long startTime = System.currentTimeMillis(); // 鑾峰彇寰幆寮�濮嬫椂闂� +// long endTime = startTime + 30000; // 璁剧疆寰幆缁撴潫鏃堕棿涓哄紑濮嬫椂闂村姞涓�5绉掗挓 while(true){ ArdSyCarLock ardSyCarLock1 = getCurrentInfo(ardSyCarRtu.getId(),currents); Double currentInfo1 = ardSyCarLock1.getCurrentInfo(); @@ -311,11 +329,6 @@ // map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 // map.put("res", String.valueOf(System.currentTimeMillis())); // String mapString = JSON.toJSONString(map); - String mapString = "{\"A01\":100000,\"A02\":100000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}"; - System.out.println("鏂藉皝锛�"+mapString); - EmqClient emqClient = new EmqClient(rtuTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID()); - emqClient.connect(); - emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false); return AjaxResult.success("鏂藉皝鍛戒护鍙戠敓鎴愬姛锛�"); // return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"鏂藉皝")); } @@ -355,29 +368,69 @@ // map.put("res", String.valueOf(System.currentTimeMillis())); // String mapString = JSON.toJSONString(map); String mapString = "{\""+key+"\":"+lockState+",\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}"; - log.info("寮�鍏抽攣锛�"+mapString); + log.debug("寮�鍏抽攣锛�"+mapString); EmqClient emqClient = new EmqClient(lockTypeParam.getCarId()+"mqttPublish"+UUID.randomUUID()); emqClient.connect(); emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false); // MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); // mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID()); // mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString); - return AjaxResult.success("寮�鍏抽攣鍛戒护鍙戦�佹垚鍔�,鍙戦�佽繘搴︿负"+lockTypeParam.getNum()); + int min = lockTypeParam.getNum() -5; int max = lockTypeParam.getNum() +5; + while(true){ + ArdSyCarLock ardSyCarLockLoop = lockMapper.selectById(lockTypeParam.getLockId()); + Double currentInfo = ardSyCarLockLoop.getCurrentInfo(); + int d = (int) ((int)(currentInfo*150/138.3 - 4)/0.16); + if(d >= min && d <= max){ + break; + } +// TimeUnit.SECONDS.sleep(5); + } + return AjaxResult.success("寮�鍏抽攣鎴愬姛,杩涘害涓�"+lockTypeParam.getNum()); } @Override - public List<ArdSyCarLock> lockIng(String carId) { + public AjaxResult lockIng(String carId) { QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper); - List<ArdSyCarLock> locks = lockMapper.lockList(ardSyCarRtu.getId()); - for (int i = 0; i < locks.size(); i++) { - ArdSyCarLock ardSyCarLock = locks.get(i); - double info = ardSyCarLock.getCurrentInfo(); - int d = (int) ((int)(info*150/138.3 - 4)/0.16); - ardSyCarLock.setCurrentInfo((double) d); + if(ardSyCarRtu!=null){ + List<ArdSyCarLock> locks = lockMapper.lockList(ardSyCarRtu.getId()); + if(locks.size()>0){ + for (int i = 0; i < locks.size(); i++) { + ArdSyCarLock ardSyCarLock = locks.get(i); + if(ardSyCarLock.getCurrentInfo()!=null){ + double info = ardSyCarLock.getCurrentInfo(); + int d = (int) ((int)(info*150/138.3 - 4)/0.16); + ardSyCarLock.setCurrentInfo((double) d); + }else { + ardSyCarLock.setCurrentInfo(0.0); + } + } + return AjaxResult.success(locks); + }else { + return AjaxResult.error("鏃犺杞︾殑閿佹暟鎹紒"); + } + }else{ + return AjaxResult.error("璇ヨ溅鏃燫TU锛�"); } - return locks; + + } + + @Override + public Boolean isLock(String carId) { + QueryWrapper<ArdSyCarRtu> queryWrapperRtu = new QueryWrapper<>(); + queryWrapperRtu.eq("car_id",carId); + ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapperRtu); + if(ardSyCarRtu!=null){ + List<ArdSyCarLock> ardSyCarLocks = lockMapper.lockList(ardSyCarRtu.getId()); + if(ardSyCarLocks.size()>0){ + return true; + }else { + return false; + } + }else { + return false; + } } -- Gitblit v1.9.3