From 1636f02b9cf3f408ebf8b3c4e377237e5b74bf4a Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 26 七月 2024 10:57:30 +0800
Subject: [PATCH] 电磁锁实时状态加入报警详情提交
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 46 insertions(+), 13 deletions(-)
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 99aacaa..f912eaf 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
@@ -1,9 +1,12 @@
package com.ruoyi.sy.service.impl;
import java.awt.geom.Point2D;
+import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
+import com.alibaba.fastjson2.JSON;
+import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyUser;
@@ -15,6 +18,9 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.utils.forest.SYClient;
import com.ruoyi.utils.gps.GeoTools;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -124,7 +130,7 @@
}
@Override
- public String processArdTankLockByLockId(String userId, String username, Map<String,String> para) {
+ public AjaxResult processArdTankLockByLockId(String userId, String username, Map<String,String> para) {
String lockId = para.get("lockId");
String lockNum = para.get("lockNum");
String carId = para.get("carId");
@@ -134,19 +140,19 @@
//鍒ゆ柇浣胯兘
ArdTankLock ardTankLock = ardTankLockMapper.selectArdTankLockById(lockId);
if(ardTankLock.getEnable().equals("false")){
- return "璇ラ攣浣胯兘鍏抽棴锛屾棤娉曟搷鎺�";
+ return AjaxResult.error("璇ラ攣浣胯兘鍏抽棴锛屾棤娉曟搷鎺�");
}
ArdSyUser ardSyUser = ardSyUserMapper.userById(userId);
if(ardSyUser == null){
- return "鏈寕鎺ヤ笁涓�璐﹀彿";
+ return AjaxResult.error("鏈寕鎺ヤ笁涓�璐﹀彿");
}
List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
String syURL = "";
if(syURLResult.size() != 0){
syURL = syURLResult.get(0).getConfigValue();
}else{
- return "涓変竴骞冲彴鏈綍鍏�";
+ return AjaxResult.error("涓変竴骞冲彴鏈綍鍏�");
}
String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
@@ -159,13 +165,13 @@
if(((String)syResult.get("rspCode")).equals("1")){
Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
if(Integer.parseInt((String)carMap.get("speed")) != 0){
- return "杞﹁締姝e湪琛岄┒涓�";
+ return AjaxResult.error("杞﹁締姝e湪琛岄┒涓�");
}
lng = (String) carMap.get("lng");
lat = (String) carMap.get("lat");
carPlate = (String) carMap.get("carName");
}else{
- return "涓変竴骞冲彴鎶ラ敊";
+ return AjaxResult.error("涓変竴骞冲彴鎶ラ敊");
}
List<ArdTankWall> ardTankWallList = ardTankWallMapper.getArdTankWallProcessByLockId(lockId);//鏌ヨ閿佹寕鎺ョ殑鍏ㄩ儴闇�瑕佸姩浣滅殑鐢靛瓙鍥存爮
@@ -179,10 +185,10 @@
pts.add(new Point2D.Double(Double.parseDouble(wallpoiArro[j]), Double.parseDouble(wallpoiArro[j+1])));
}
if(GeoTools.IsPtInPoly(point, pts)){//鍦ㄤ换鎰忕數瀛愬洿鏍忓唴锛屼笉鎶ヨ
- return "褰撳墠杞﹁締姝e鍦�" + ardTankWall.getWallName() + "涓�";
+ return AjaxResult.error("褰撳墠杞﹁締姝e鍦�" + ardTankWall.getWallName() + "涓�");
}
}
- return "褰撳墠杞﹁締姝e鍦ㄧ數瀛愬洿鏍忓";
+ return AjaxResult.error("褰撳墠杞﹁締姝e鍦ㄧ數瀛愬洿鏍忓");
}else{
try{
String lockNumHead = lockNum.substring(0,2);
@@ -200,8 +206,7 @@
String paramsStr = lockNum + "02" + process + checkNum;
paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
- Map<String,Object> result = sYClient.sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
-
+ Map<String,Object> result = sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
if(((String)result.get("rspCode")).equals("0")){
ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
ardTankLockProcessLog.setId(IdUtils.simpleUUID());
@@ -221,14 +226,42 @@
ardTankLockProcessLog.setLatitude(lat);
ardTankLockProcessLog.setProcessTime(this.sdf.format(new Date()));
ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
- return "鍙戦�佹垚鍔�";
+ return AjaxResult.success("鍙戦�佹垚鍔�");
}else{
- return "鍙戦�佸け璐�";
+ return AjaxResult.error("鍙戦�佸け璐�");
}
}catch(Exception e){
e.printStackTrace();
- return "鍙戦�佸け璐�";
+ return AjaxResult.error("鍙戦�佸け璐�");
}
}
}
+
+ 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>) JSON.parse(message);
+ return map;
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new HashMap();
+ }
+ }
}
--
Gitblit v1.9.3