From 0abccf5e570dce53a802bca4ce25118dd900692c Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期五, 23 二月 2024 14:07:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- 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