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