ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/ArdSyCarRtuService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarRtuServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 { //妿æè¿å ¥å´æ IDï¼å¤ææ¯å¦å¼åºè£ æ²¹ç¹ 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 { //æªå¼åºå¸æ²¹ç¹ï¼æ´æ°ç»çº¬åº¦ä¿å ard-work/src/main/java/com/ruoyi/sy/service/ArdSyCarRtuService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.ruoyi.sy.service; import com.ruoyi.sy.domain.ArdSyCarRtu; import java.util.List; /** * @author Administrator */ public interface ArdSyCarRtuService { String allCarTopic(); ArdSyCarRtu one(String carId); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarRtuServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.ruoyi.sy.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.sy.domain.ArdSyCarRtu; import com.ruoyi.sy.mapper.ArdSyCarRtuMapper; import com.ruoyi.sy.service.ArdSyCarRtuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @author Administrator */ @Service public class ArdSyCarRtuServiceImpl implements ArdSyCarRtuService { @Autowired private ArdSyCarRtuMapper ardSyCarRtuMapper; @Override public String allCarTopic() { List<ArdSyCarRtu> carRtus = ardSyCarRtuMapper.selectList(null); List<String> list = new ArrayList<>(); for (int i = 0; i < carRtus.size(); i++) { list.add(carRtus.get(i).getTopicPublish()); } String[] topicArray = list.toArray(new String[list.size()]); return Arrays.toString(topicArray); } @Override public ArdSyCarRtu one(String carId) { QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); return ardSyCarRtuMapper.selectOne(queryWrapper); } } ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java
@@ -91,6 +91,9 @@ ArdRadarService ardRadarService = SpringUtils.getBean(ArdRadarService.class); ardRadarService.forceGuide(new String(message.getPayload(), StandardCharsets.UTF_8)); } if(topic.contains("/p")){ System.out.println(new String(message.getPayload(), StandardCharsets.UTF_8)); } } catch (Exception e) { log.debug("å¤çmqttæ¶æ¯å¼å¸¸:" + e); } ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.ruoyi.utils.mqtt; import com.ruoyi.sy.domain.ArdSyCarRtu; import com.ruoyi.sy.mapper.ArdSyCarRtuMapper; import com.ruoyi.sy.service.ArdSyCarRtuService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @author Administrator */ @Slf4j @Component public class MqttOnce implements CommandLineRunner { @Autowired private ArdSyCarRtuService ardSyCarRtuService; @Override public void run(String... args) throws Exception { String topic = ardSyCarRtuService.allCarTopic(); MqttConsumer mqttConsumer = new MqttConsumer(); mqttConsumer.subscribe(topic,2); log.info("mqttè®¢é æ¸ 淤车è¾éä¿¡æ¯ï¼"+topic); } }