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/service/impl/ArdTankLockServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
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