From f239046819553c821c68e3687b7d72d421fbc10e Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期日, 18 二月 2024 16:10:56 +0800
Subject: [PATCH] 三一车辆默认为30s发送实时位置提交
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index de5e323..54487b2 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -901,6 +901,23 @@
@Override
public Results chaseCarByCarId(String usersId, String carId, String cycle) {
+ ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
+ String userId ="";
+ String password = "";
+ if(ardSyUser != null){
+ userId = ardSyUser.getUserId();
+ password = DigestUtils.md5Hex(ardSyUser.getPassword());
+ }else{
+ return Results.error("娌℃湁鎸傛帴涓変竴杞﹁締鐢ㄦ埛");
+ }
+ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+ String syURL = "";
+ if(syURLResult.size() != 0){
+ syURL = syURLResult.get(0).getConfigValue();
+ }else{
+ return Results.error("涓変竴杞﹁締鍦板潃鏈綍鍏�");
+ }
+
String sessionId = "";
for(String key : ONLINE_USER_SESSIONS.keySet()){
if(key.startsWith(usersId + "_")){
@@ -916,6 +933,10 @@
userCarTimerMap.get(usersId).cancel();
userCarTimerMap.remove(usersId);
PositionContainer.getUserPositionMap().remove(usersId);
+ Map<String,Object> loginResult = sYClient.logIn(syURL, password, userId);
+ String sySessionId = (String) loginResult.get("sessionId");
+ String params = "%7B%220020%22:%220%22,%220029%22:%2230%22%7d";
+ sYClient.changePositionSendMode(syURL, carId,104,"CmdSetParam",params,sySessionId);//鍋滄杩借釜锛屾敼涓哄畾鏃�30s鎺ㄩ��
System.out.println("鍋滄杩借釜");
}
return Results.succeed("鍋滄杩借釜");
@@ -927,6 +948,19 @@
Map<String, Map<String, Object>> map = new HashMap();
map.put(carId, new HashMap());
PositionContainer.getUserPositionMap().put(usersId, map);
+
+ Map<String,Object> loginResult = sYClient.logIn(syURL, password, userId);
+ String sySessionId = (String) loginResult.get("sessionId");
+ List<SysConfig> distanceSYResult = sysConfigMapper.selectByType("31time");
+ String time = "";
+ if(distanceSYResult.size() != 0){
+ time = distanceSYResult.get(0).getConfigValue();
+ }else{
+ return Results.error("涓変竴杞﹁締瀹氭椂鏈綍鍏�");
+ }
+ String params = "%7B%220020%22:%220%22,%220029%22:%22"+time+"%22%7d";
+ sYClient.changePositionSendMode(syURL, carId,104,"CmdSetParam",params,sySessionId);//寮�濮嬭拷韪紝鏀逛负瀹氭椂鎺ㄩ��
+
Map<String, Object> position = PositionContainer.getCarPositionMap().get(carId);//鏌ヨ褰撳墠杞﹁締浣嶇疆
if (position != null) {
if (position.size() != 0) {
@@ -954,6 +988,25 @@
userCarTimerMap.get(usersId).cancel();
userCarTimerMap.remove(usersId);
PositionContainer.getUserPositionMap().remove(usersId);
+
+ ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
+ String userId ="";
+ String password = "";
+ if(ardSyUser != null){
+ userId = ardSyUser.getUserId();
+ password = ardSyUser.getPassword();
+ }
+ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+ String syURL = "";
+ if(syURLResult.size() != 0){
+ syURL = syURLResult.get(0).getConfigValue();
+ }
+ if(!userId.equals("") && !password.equals("") && !syURL.equals("")){
+ Map<String,Object> loginResult = sYClient.logIn(syURL, password, userId);
+ String sySessionId = (String) loginResult.get("sessionId");
+ String params = "%7B%220020%22:%220%22,%220029%22:%2230%22%7d";
+ sYClient.changePositionSendMode(syURL, carId,104,"CmdSetParam",params,sySessionId);//鍋滄杩借釜锛屾敼涓哄畾鏃�30s
+ }
System.out.println("鐢ㄦ埛绂荤嚎锛屽仠姝㈣拷韪�");
}
}
@@ -969,6 +1022,19 @@
Map<String, Map<String, Object>> map = new HashMap();
map.put(carId, new HashMap());
PositionContainer.getUserPositionMap().put(usersId, map);
+
+ Map<String,Object> loginResult = sYClient.logIn(syURL, password, userId);
+ String sySessionId = (String) loginResult.get("sessionId");
+ List<SysConfig> distanceSYResult = sysConfigMapper.selectByType("31time");
+ String time = "";
+ if(distanceSYResult.size() != 0){
+ time = distanceSYResult.get(0).getConfigValue();
+ }else{
+ return Results.error("涓変竴杞﹁締瀹氭椂鏈綍鍏�");
+ }
+ String params = "%7B%220020%22:%220%22,%220029%22:%22"+time+"%22%7d";
+ sYClient.changePositionSendMode(syURL, carId,104,"CmdSetParam",params,sySessionId);//寮�濮嬭拷韪紝鏀逛负瀹氭椂鎺ㄩ��
+
Map<String, Object> position = PositionContainer.getCarPositionMap().get(carId);//鏌ヨ褰撳墠杞﹁締浣嶇疆
if (position != null) {
if (position.size() != 0) {
@@ -996,6 +1062,25 @@
userCarTimerMap.get(usersId).cancel();
userCarTimerMap.remove(usersId);
PositionContainer.getUserPositionMap().remove(usersId);
+
+ ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
+ String userId ="";
+ String password = "";
+ if(ardSyUser != null){
+ userId = ardSyUser.getUserId();
+ password = ardSyUser.getPassword();
+ }
+ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+ String syURL = "";
+ if(syURLResult.size() != 0){
+ syURL = syURLResult.get(0).getConfigValue();
+ }
+ if(!userId.equals("") && !password.equals("") && !syURL.equals("")){
+ Map<String,Object> loginResult = sYClient.logIn(syURL, password, userId);
+ String sySessionId = (String) loginResult.get("sessionId");
+ String params = "%7B%220020%22:%220%22,%220029%22:%2230%22%7d";
+ sYClient.changePositionSendMode(syURL, carId,104,"CmdSetParam",params,sySessionId);//鍋滄杩借釜锛屾敼涓哄畾鏃�30s
+ }
System.out.println("鐢ㄦ埛绂荤嚎锛屽仠姝㈣拷韪�");
}
}
--
Gitblit v1.9.3