ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -78,11 +78,13 @@ /*String carName = MapUtil.getStrVal(gpsMap, "carName","");//获取车牌号 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(new Date()));*/ // log.error(String.format(" ---->收到定位数据:%s",JSON.toJSONString(gpsMap))); log.info(String.format(" ---->收到定位数据:%s",JSON.toJSONString(gpsMap))); String carId = (String)gpsMap.get("carId"); ((ArdSyCarDayServiceImpl)SpringUtils.getBean("ardSyCarDayServiceImpl")).insertArdSyCarDay(carId);//新增车辆上报时间 Map<String,Object> result = ((ArdSyCarServiceImpl)SpringUtils.getBean("ardSyCarServiceImpl")).getArdSyCarAndDeptByCarId(carId);//查询车辆及部门 if(result != null){ if("30".equals(carId)){ //清淤开始---------- String lng = (String) gpsMap.get("lng").toString();//获取经度 String lat = (String) gpsMap.get("lat").toString();//获取纬度 @@ -93,6 +95,7 @@ String carModel = (String) result.get("carModel");//获取车辆模型 Integer drct = (Integer) gpsMap.get("drct");//获取车辆模型 Integer speed = (Integer) gpsMap.get("speed"); log.info("carId:"+carId+"lng:"+lng+"lat:"+lat); //定义2维空间 Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat)); List<Point2D.Double> pts = new ArrayList<Point2D.Double>(); @@ -331,6 +334,7 @@ } } } } //清淤结束------------ gpsMap.putAll(result); @@ -435,8 +439,10 @@ private void feng(String carId,String type,ArdSyCarRtuService carRtuService,ArdSyCarLockService lockService) throws MqttException { //查询装油点既定Rtu状态 ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); if(ardSyCarRtu!=null){ //查询锁信息 List<ArdSyCarLock> ardSyCarLocks = lockService.carLock(ardSyCarRtu.getId()); if(ardSyCarLocks.size()>0){ Integer fengType = null; if("装油点".equals(type)){ fengType = ardSyCarRtu.getInstallType(); @@ -445,10 +451,10 @@ }else if("施封".equals(type)){ fengType = 0; } if(ardSyCarLocks.size()>0){ //1解封 if(fengType==1){ //如果不是解封封状态,则发送施封命令 if(ardSyCarLocks.get(0).getRelayInfo()!=null){ if(ardSyCarLocks.get(0).getRelayInfo()==0){ Map<String,Object> map = new HashMap<>(); map.put("A01", 110000);//导通第一路继电器 @@ -462,11 +468,13 @@ // mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"解封"); } } } //0施封 if(fengType==0){ //锁开关状态 int lockCloseNum = 0; //如果不是施封状态,则发送施封命令 if(ardSyCarLocks.get(0).getRelayInfo()!=null){ if(ardSyCarLocks.get(0).getRelayInfo()==1){ for (int j = 0; j < ardSyCarLocks.size(); j++) { ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j); @@ -517,3 +525,5 @@ } } } } } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
@@ -59,7 +59,8 @@ List<ArdAccessFence> list = ardAccessFenceMapper.selectList(null); for (int i = 0; i < list.size(); i++) { ArdAccessFence ardAccessFence = list.get(i); ardAccessFence.setCarModel(url+ardAccessFence.getCarModel()); // ardAccessFence.setCarModel(url+ardAccessFence.getCarModel()); ardAccessFence.setCarModel(ardAccessFence.getCarModel()); } return list; } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -193,7 +193,11 @@ @Override public List<CarVo> queryCar(List<String> list) { 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); return carAnalysis(ardSyCars); } ard-work/src/main/java/com/ruoyi/utils/qymqtt/AutoMqtt.java
@@ -33,7 +33,7 @@ // MqttCustomerClient mqttCustomerClient = new MqttCustomerClient(); // mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID()); // mqttCustomerClient.subscribe(subscribe); EmqClient emqClient = new EmqClient(carId+"mqttSubscribe"); EmqClient emqClient = new EmqClient(carId+"mqttSubscribe"+UUID.randomUUID()); emqClient.connect(); emqClient.subscribe(subscribe, QosEnum.QoS2); log.info("订阅主题:"+subscribe); ard-work/src/main/java/com/ruoyi/utils/qymqtt/newM/MessageCallback.java
@@ -40,7 +40,7 @@ @Override //消息发布者消息发布完成产生的回调 public void deliveryComplete(IMqttDeliveryToken token) { System.out.println("deliveryComplete---------" + token.isComplete()); log.info("deliveryComplete---------" + token.isComplete()); int messageId = token.getMessageId(); String[] topics = token.getTopics(); String clientId = token.getClient().getClientId(); @@ -50,13 +50,13 @@ topicStr = topicStr + topic + ","; } topicStr = topicStr.substring(0, topicStr.length() - 1); System.out.println("消息发布完成,messageId="+messageId+",topics="+topicStr+",clientId="+clientId); log.info("消息发布完成,messageId="+messageId+",topics="+topicStr+",clientId="+clientId); } @Override//消息订阅者收到消息后触发的回调 public void messageArrived(String topic, MqttMessage message) throws Exception { try { // System.out.println("【车辆锁主题】:"+topic+"【车辆锁信息】:"+new String(message.getPayload(), StandardCharsets.UTF_8)); log.info("【车辆锁主题】:"+topic+"【车辆锁信息】:"+new String(message.getPayload(), StandardCharsets.UTF_8)); //出来回调数据 List<ArdSyCarLock> ardSyCarLocks = carLockService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); //根据topic查询RTUID ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml
@@ -60,7 +60,7 @@ right join sys_user su on asu.sys_user_id = su.user_id <where> <if test="sysUserId != null and sysUserId != ''"> and sys_user_id = #{sysUserId}</if> <if test="userId != null and userId != ''"> and user_id = #{userId}</if> <if test="userId != null and userId != ''"> and asu.user_id = #{userId}</if> <if test="password != null and password != ''"> and password = #{password}</if> <if test="reserved1 != null and reserved1 != ''"> and reserved_1 = #{reserved1}</if> <if test="reserved2 != null and reserved2 != ''"> and reserved_2 = #{reserved2}</if>