From c3ec70d2bd1ebd2421d2fa3e85c1ac43e2322ea6 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期一, 22 七月 2024 14:44:52 +0800 Subject: [PATCH] 电子围栏加入类型提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java | 62 +++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 15 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 3021d43..396fc26 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,11 @@ 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.entity.SysConfig; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyUser; @@ -15,6 +17,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; @@ -85,9 +90,9 @@ */ @Override public int insertArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog) { - ardTankLockProcessLog.setId(IdUtils.simpleUUID()); - ardTankLockProcessLog.setUserId(SecurityUtils.getUserId()); - return ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog); + ardTankLockProcessLog.setId(IdUtils.simpleUUID()); + ardTankLockProcessLog.setUserId(SecurityUtils.getUserId()); + return ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog); } /** @@ -137,7 +142,6 @@ return "璇ラ攣浣胯兘鍏抽棴锛屾棤娉曟搷鎺�"; } - ArdSyUser ardSyUser = ardSyUserMapper.userById(userId); if(ardSyUser == null){ return "鏈寕鎺ヤ笁涓�璐﹀彿"; @@ -159,10 +163,12 @@ Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId); 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湪琛岄┒涓�"; + } lng = (String) carMap.get("lng"); lat = (String) carMap.get("lat"); carPlate = (String) carMap.get("carName"); - }else{ return "涓変竴骞冲彴鎶ラ敊"; } @@ -187,9 +193,9 @@ 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("02", 16)//璁剧疆閿佽姱鐘舵�佸姛鑳界爜02 - + Integer.parseInt(process, 16));//鎿嶄綔 + + Integer.parseInt(lockNumTail, 16)//閿佺紪鍙蜂綆8浣� + + Integer.parseInt("02", 16)//璁剧疆閿佽姱鐘舵�佸姛鑳界爜02 + + Integer.parseInt(process, 16));//鎿嶄綔 if(checkNum.length() == 1){ checkNum = "0" + checkNum; } @@ -199,13 +205,11 @@ 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); + System.out.println("111111111111"); + System.out.println(result); if(((String)result.get("rspCode")).equals("0")){ - //鍏ュ簱鎿嶄綔 - ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog(); + /*ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog(); ardTankLockProcessLog.setId(IdUtils.simpleUUID()); ardTankLockProcessLog.setLockId(lockId); ardTankLockProcessLog.setLockNum(lockNum); @@ -222,7 +226,7 @@ ardTankLockProcessLog.setLongitude(lng); ardTankLockProcessLog.setLatitude(lat); ardTankLockProcessLog.setProcessTime(this.sdf.format(new Date())); - ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog); + ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);*/ return "鍙戦�佹垚鍔�"; }else{ return "鍙戦�佸け璐�"; @@ -233,4 +237,32 @@ } } } + + 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