From 2c2580fbf0bd6b28f84ab8f3949e1b5be464bcb3 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期三, 08 十一月 2023 17:02:14 +0800 Subject: [PATCH] mqtt锁状态 --- ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 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 0c01de8..c5dd1f9 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 @@ -8,19 +8,18 @@ package com.ruoyi.sy.gps31; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.gps31.push.netty.PushClient; import com.gps31.push.netty.PushMsg; import com.gps31.push.netty.client.TcpClient; import com.gps31.push.util.MapUtil; import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.sy.domain.ArdAccessFence; -import com.ruoyi.sy.domain.ArdAccessNum; -import com.ruoyi.sy.domain.ArdOilWall; -import com.ruoyi.sy.domain.ArdSyCarLock; +import com.ruoyi.sy.domain.*; import com.ruoyi.sy.service.ArdAccessFenceService; import com.ruoyi.sy.service.ArdOilWallService; import com.ruoyi.sy.service.impl.*; import com.ruoyi.utils.gps.GeoTools; +import com.ruoyi.utils.mqtt.MqttConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -183,7 +182,6 @@ break; } } - ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence); }else { //濡傛灉鏈夎繘鍏ュ洿鏍廔D锛屽垽鏂槸鍚﹀紑鍑鸿娌圭偣 String out = ardAccessFence.getOutShipmentId(); @@ -212,9 +210,10 @@ //濡傛灉unload涓虹┖锛屽垽鏂槸鍚﹁繘鍏ュ嵏娌圭偣 if (unload == null) { //杞﹁締鏈繘鍏ュ嵏娌圭偣 - List<ArdOilWall> ardOilWallUpload = SpringUtils.getBean(ArdOilWallService.class).uploadAll(); + List<ArdOilWall> ardOilWallUpload = ((ArdOilWallServiceImpl)SpringUtils.getBean("ArdOilWallServiceImpl")).uploadAll(); //鏄惁鍦ㄨ矾涓� Boolean isRoad = true; + //鍒ゆ柇鏄惁杩涘幓鍗告补鐐� for (int i = 0; i < ardOilWallUpload.size(); i++) { pts.clear(); ArdOilWall ardOilWall = ardOilWallUpload.get(i); @@ -231,6 +230,17 @@ ardAccessFence.setNowWallName(ardOilWall.getName()); ardAccessFence.setLastTime(time); ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence); + //鍙戦�佽В灏佹寚浠� + ArdSyCarRtu ardSyCarRtu = ((ArdSyCarRtuServiceImpl) SpringUtils.getBean("ArdSyCarRtuServiceImpl")).one(carId); + if(ardSyCarRtu!=null){ + Map<String,Object> map = new HashMap<>(); + map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 +// map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� + map.put("res", String.valueOf(System.currentTimeMillis())); + MqttConsumer.publish(ardSyCarRtu.getTopicSubscribe(), String.valueOf(new JSONObject(map))); + }else { + log.error("杞﹁締"+carId+"鏃犻攣鐘舵��"); + } //宸茬粡杩涘叆鍗告补鐐癸紝涓嶅湪璺笂涓嶉渶瑕佸仠杞︽姤璀� isRoad = false; break; @@ -273,6 +283,15 @@ } if (!GeoTools.IsPtInPoly(point, pts)) { //寮�鍑轰簡鍗告补鐐瑰洿鏍忥紝鍒犻櫎璇ユ潯杞﹁締鏁版嵁 + //鍙戦�佽В灏佹寚浠� + ArdSyCarRtu ardSyCarRtu = ((ArdSyCarRtuServiceImpl) SpringUtils.getBean("ArdSyCarRtuServiceImpl")).one(carId); + if(ardSyCarRtu!=null) { + Map<String, Object> map = new HashMap<>(); + map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 +// map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 + map.put("res", String.valueOf(System.currentTimeMillis())); + MqttConsumer.publish(ardSyCarRtu.getTopicSubscribe(), String.valueOf(new JSONObject(map))); + } ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).delAccess(carId); }else { //鏈紑鍑哄嵏娌圭偣锛屾洿鏂扮粡绾害淇濆瓨 -- Gitblit v1.9.3