From a2ab48f60c56611cee0d57634706c71ef08b2f8d Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期三, 22 十一月 2023 11:57:59 +0800
Subject: [PATCH] 获取电磁锁地址
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 83 insertions(+), 18 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 7390c64..a761b97 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
@@ -17,14 +17,14 @@
import com.ruoyi.sy.service.ArdSyCarLockService;
import com.ruoyi.sy.vo.CarVo;
import com.ruoyi.sy.vo.RtuVo;
+import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.mapper.SysDeptMapper;
-import com.ruoyi.utils.mqtt.MqttOnce;
+import com.ruoyi.utils.qymqtt.MqttCustomerClient;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.text.DecimalFormat;
import java.util.*;
/**
@@ -42,6 +42,8 @@
private ArdSyCarRtuMapper rtuMapper;
@Autowired
private ArdSyCarLockMapper lockMapper;
+ @Autowired
+ private SysConfigMapper configMapper;
@Override
@@ -75,8 +77,9 @@
ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
ardSyCar.setReserved1(ardSyCarRtu.getId());
ardSyCarMapper.updateById(ardSyCar);
- MqttOnce mqttOnce = new MqttOnce();
- mqttOnce.subscribeCar(ardSyCarRtu);
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(addRtuParam.getCarId()+"mqtt");
+ mqttCustomerClient.subscribe(ardSyCarRtu.getTopicSubscribe());
return num;
}
@@ -90,6 +93,11 @@
@Override
public int delCar(String id) {
+ ArdSyCarRtu ardSyCarRtu = rtuMapper.selectById(id);
+ String subscribe = ardSyCarRtu.getTopicSubscribe();
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(ardSyCarRtu.getCarId()+"del");
+ mqttCustomerClient.unSubscribe(subscribe);
rtuMapper.deleteById(id);
QueryWrapper<ArdSyCarLock> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("rtu_id",id);
@@ -236,15 +244,19 @@
QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("carId",rtuTypeParam.getCarId());
ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
- MqttOnce mqttOnce = new MqttOnce();
//1瑙e皝
if(rtuTypeParam.getType()==1){
Map<String,Object> map = new HashMap<>();
map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒
map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣�
map.put("res", String.valueOf(System.currentTimeMillis()));
+ String mapString = JSON.toJSONString(map);
try {
- return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"瑙e皝"));
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
+ mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+ return AjaxResult.success("瑙e皝鍛戒护鍙戦�佹垚鍔燂紒");
+// return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"瑙e皝"));
} catch (MqttException e) {
log.debug("瑙e皝鎸囦护鍙戠敓澶辫触"+e);
}
@@ -272,15 +284,19 @@
Map<String,Object> map = new HashMap();
map.put(key, 0.01);
map.put("res", String.valueOf(System.currentTimeMillis()));
+ String mapString = JSON.toJSONString(map);
try {
- mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"寮�閿侊細"+currents);
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
+ mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+// mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"寮�閿侊細"+currents);
} catch (MqttException e) {
log.debug("寮�閿佹寚浠ゅ彂鐢熷け璐�"+e);
}
while(true){
ArdSyCarLock ardSyCarLock1 = getCurrentInfo(ardSyCarRtu.getId(),currents);
Double currentInfo1 = ardSyCarLock1.getCurrentInfo();
- if(currentInfo1.equals(4.00)){
+ if(currentInfo1.equals(4.00) || currentInfo1.equals(4)){
lockCloseNum +=1;
break;
}
@@ -292,8 +308,13 @@
map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒
map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒
map.put("res", String.valueOf(System.currentTimeMillis()));
+ String mapString = JSON.toJSONString(map);
try {
- return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"鏂藉皝"));
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(rtuTypeParam.getCarId()+"change");
+ mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+ return AjaxResult.success("鏂藉皝鍛戒护鍙戠敓鎴愬姛锛�");
+// return AjaxResult.success(mqttOnce.publishCar(rtuTypeParam.getCarId(),ardSyCarRtu.getTopicPublish(),String.valueOf(new com.alibaba.fastjson2.JSONObject(map)),"鏂藉皝"));
} catch (MqttException e) {
log.debug("鏂藉皝鎸囦护鍙戠敓澶辫触"+e);
}
@@ -303,7 +324,7 @@
}
@Override
- public AjaxResult onOff(LockTypeParam lockTypeParam) {
+ public AjaxResult onOff(LockTypeParam lockTypeParam) throws MqttException {
QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("car_id",lockTypeParam.getCarId());
ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
@@ -332,13 +353,50 @@
map.put("res", String.valueOf(System.currentTimeMillis()));
String mapString = JSON.toJSONString(map);
System.out.println(mapString);
- MqttOnce mqttOnce = new MqttOnce();
- try {
- return AjaxResult.success(mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(), mapString,"寮�鍏抽攣鎸囦护"+lockTypeParam.getNum()));
- } catch (MqttException e) {
- log.debug("寮�鍏抽攣鎸囦护鍙戦�佸け璐�"+e);
- }
- return AjaxResult.success();
+ MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
+ mqttCustomerClient.connect(lockTypeParam.getCarId()+"change");
+ mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
+ return AjaxResult.success("寮�鍏抽攣鍛戒护鍙戦�佹垚鍔�,鍙戦�佽繘搴︿负"+lockTypeParam.getNum());
+// QueryWrapper<SysConfig> queryWrapper1 = new QueryWrapper<>();
+// queryWrapper1.eq("config_key","ElectromagneticLockUrl");
+// SysConfig sysConfig = configMapper.selectOne(queryWrapper1);
+// String url = "";
+// if(sysConfig!=null){
+// url = sysConfig.getConfigValue();
+// }else {
+// return AjaxResult.error("閰嶇疆琛ㄦ棤鍦板潃鏁版嵁");
+// }
+// MqttConsumer mqttConsumer = new MqttConsumer();
+// mqttConsumer.getClientCar(url,lockTypeParam.getCarId());
+// mqttConsumer.publishCar(1,false,ardSyCarRtu.getTopicPublish(),mapString);
+// mqttConsumer.disConnect();
+// return AjaxResult.success();
+ //MqttOnce瀹㈡埛绔�-----寮�濮�
+// MqttOnce mqttOnce = new MqttOnce();
+// return AjaxResult.success(mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(), mapString,"寮�鍏抽攣鎸囦护"+lockTypeParam.getNum()));
+ //MqttOnce瀹㈡埛绔�-----缁撴潫
+ //EmqClient瀹㈡埛绔�-----寮�濮�
+// EmqClient emqClient = new EmqClient("tcp://112.98.126.2:1883",String.valueOf(UUID.randomUUID()));
+// emqClient.connect("admin","xzx12345");
+// log.info("涓婚锛�"+ardSyCarRtu.getTopicPublish());
+// emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
+// System.out.println("////////////////////");
+// System.out.println(mapString);
+// emqClient.disConnect();
+// return AjaxResult.success(ardSyCarRtu.getTopicPublish()+"寮�鍏抽攣鎸囦护"+lockTypeParam.getNum()+"鍙戝竷鎴愬姛锛�");
+ //EmqClient瀹㈡埛绔�-----缁撴潫
+ //demo------寮�濮�
+// EmqClient emqClient = new EmqClient("tcp://112.98.126.2:1883","mqttTestp");
+// emqClient.connect("admin","xzx12345");
+// Map<String,Object> map = new HashMap();
+// map.put("D03", 99.99);//鑼冨洿鏄�0.01鍒�99.99
+// map.put("res", String.valueOf(new Date().getTime()));
+// System.out.println(map);
+// String msg = JSON.toJSONString(map);
+// emqClient.publish("/p14/set/",msg,QosEnum.QoS2,false);
+// emqClient.disConnect();
+// return AjaxResult.success();
+ //demo----缁撴潫
}
@Override
@@ -346,7 +404,14 @@
QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("car_id",carId);
ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
- return lockMapper.lockList(ardSyCarRtu.getId());
+ 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);
+ }
+ return locks;
}
--
Gitblit v1.9.3