From a17551833794cceabddff337bf185dbfb97b44ae Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 25 七月 2024 10:33:01 +0800
Subject: [PATCH] 电磁锁打印注释提交
---
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java | 2 +
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java | 2 +
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 22 ++++++++++
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java | 6 +-
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 113 insertions(+), 4 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index 2428e11..de58874 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -300,7 +300,6 @@
Thread lockThread = new Thread() {
@Override
public void run() {
- //String usersId = key.split("_")[0];
ardTankLockService.sendLockState(key,userId,password);
}
};
@@ -310,6 +309,27 @@
};
sendTimer.scheduleAtFixedRate(sendLockStateTask,date,3000);
+ try{
+ Thread.sleep(3000);
+ }catch(Exception e){
+
+ }
+
+
+ Timer alarmTimer = new Timer();//瀹氭椂鑾峰彇鎶ヨ
+ TimerTask alarmTask = new TimerTask(){
+ @Override
+ public void run() {
+ Thread alarmThread = new Thread() {
+ @Override
+ public void run() {
+ ardTankLockService.getAlarm(userId,password);
+ }
+ };
+ alarmThread.start();
+ }
+ };
+ alarmTimer.scheduleAtFixedRate(alarmTask,date,3000);
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
index 666b8bb..f4c1eb8 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
@@ -314,6 +314,8 @@
ardTankLockState.setUniqueMark(uniqueMark);
((ArdTankLockStateServiceImpl)SpringUtils.getBean("ardTankLockStateServiceImpl")).insertOrUpdateArdTankLockState(ardTankLockState);
}
+ }else if(code.equals("06")){//鍔熻兘鐮�06涓洪攣鍘嗗彶鎶ヨ
+
}
}catch (Exception e){
e.printStackTrace();
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
index d6daab6..bd76c73 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -76,4 +76,6 @@
public List<ArdTankLock> getArdTankLockAll();
public void sendLockState(String userId,String syUserId,String syPassword);
+
+ public void getAlarm(String syUserId,String syPassword);
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
index 1072653..9f2ab56 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
@@ -205,10 +205,10 @@
String paramsStr = lockNum + "02" + process + checkNum;
paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
- System.out.println(paramsStr);
+ //System.out.println(paramsStr);
Map<String,Object> result = sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
- System.out.println("111111111111");
- System.out.println(result);
+ //System.out.println("111111111111");
+ //System.out.println(result);
if(((String)result.get("rspCode")).equals("0")){
ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
ardTankLockProcessLog.setId(IdUtils.simpleUUID());
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
index d68c81b..670b9f5 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.sy.service.impl;
+import java.io.IOException;
import java.util.*;
import com.alibaba.fastjson.JSON;
@@ -13,6 +14,9 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.utils.forest.SYClient;
import com.ruoyi.utils.websocket.util.WebSocketUtils;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.stereotype.Service;
@@ -56,6 +60,8 @@
@Resource
private SYClient sYClient;
+
+ private Map<String,Thread> alarmMap = new HashMap();//鐢电閿佸巻鍙叉姤璀︾嚎绋嬪鍣�
/**
* 鏌ヨ鐢电閿�
@@ -581,4 +587,83 @@
WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(userId), JSON.toJSONString(data));
}
}
+
+ @Override
+ public void getAlarm(String syUserId,String syPassword) {
+ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+ String syURL = "";
+ if(syURLResult.size() != 0){
+ syURL = syURLResult.get(0).getConfigValue();
+ }else{
+ return;
+ }
+ String finalSyURL = syURL;
+
+ String passwordMd5 = DigestUtils.md5Hex(syPassword);
+ Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, syUserId);
+ String sessionId = (String) LogInResult.get("sessionId");
+
+ List<ArdTankLock> ardTankLockResult = ardTankLockMapper.getAll();
+ for(ArdTankLock ardTankLock : ardTankLockResult){
+ if(this.alarmMap.get(ardTankLock.getLockNum()) != null){
+ continue;//褰撳墠閿佸凡鍦ㄨ幏鍙栨姤璀︼紝涓嶅湪鍒涘缓绾跨▼
+ }
+ Thread thread = new Thread(finalSyURL){
+ @Override
+ public void run() {
+ try{
+ String lockNum = ardTankLock.getLockNum();
+ String lockNumHead = lockNum.substring(0,2);
+ String lockNumTail = lockNum.substring(2,4);
+ String checkNum = Integer.toHexString(Integer.parseInt(lockNumHead, 16)//閿佺紪鍙烽珮8浣�
+ + Integer.parseInt(lockNumTail, 16)//閿佺紪鍙蜂綆8浣�
+ + Integer.parseInt("06", 16));//璁剧疆閿佽姱鐘舵�佸姛鑳界爜06
+ if(checkNum.length() == 1){
+ checkNum = "0" + checkNum;
+ }
+ if(checkNum.length() > 2){
+ checkNum = checkNum.substring(checkNum.length() - 2,checkNum.length());
+ }
+
+ String paramsStr = lockNum + "06" + checkNum;
+ paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
+ Map<String,Object> result = sendCmd(finalSyURL, syUserId, ardTankLock.getCarId(), 199, "DataDownTransfer", paramsStr, sessionId);
+ alarmMap.remove(ardTankLock.getLockNum());
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }
+ };
+ thread.start();
+ alarmMap.put(ardTankLock.getLockNum(),thread);
+ }
+ }
+
+ public Map<String,Object> sendCmd(String syURL,String userId,String carId,Integer cmdId,String cmd,String paramsStr,String sessionId){
+ OkHttpClient okHttpClient = new OkHttpClient();
+
+ Request request = new Request.Builder()
+ .url(syURL + "/gps-web/api/send_cmd.jsp?params="+paramsStr+"&userId="+userId+"&carId="+carId+"&cmdId="+cmdId+"&cmd="+cmd+"&sessionId="+sessionId)
+ .build();
+ //System.out.println("url = " + syURL + "/gps-web/api/send_cmd.jsp?params="+paramsStr+"&userId="+userId+"&carId="+carId+"&cmdId="+cmdId+"&cmd="+cmd+"&sessionId="+sessionId);
+ Response response = null;
+ try {
+ response = okHttpClient.newCall(request).execute();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ okhttp3.ResponseBody responseBody = response.body();
+
+ try {
+ String message = responseBody.string();// 鍝嶅簲浣�
+ Map<String,Object> map = (Map<String, Object>) com.alibaba.fastjson2.JSON.parse(message);
+ return map;
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new HashMap();
+ }
+ }
}
--
Gitblit v1.9.3