From 6cec7979aaec6febbef519888423c86133821b8c Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期三, 28 二月 2024 17:30:45 +0800 Subject: [PATCH] 三一车辆提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 148 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 102 insertions(+), 46 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 b2642f3..624076b 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 @@ -328,59 +328,26 @@ @Override public List<Map<String, String>> getAllCarModel() { - boolean exsit = MinioUtil.exitsBucket("sycar"); + boolean exsit = MinioUtil.exitsBucket("system"); if (exsit) { List<Map<String, String>> listObjetcName = new ArrayList<>(); try { - // ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().prefix("carmodel/").bucket("sycar").build(); - Iterable<Result<Item>> myObjects = MinioUtil.getObjectsByBucket("sycar","carmodel"); + //Iterable<Result<Item>> myObjects = MinioUtil.getObjectsByBucket("sycar","carmodel"); + Iterable<Result<Item>> myObjects = MinioUtil.getObjectsByBucket("system","model/car"); for (Result<Item> result : myObjects) { Item item = result.get(); Map<String, String> map = new HashMap(); String[] strArr = item.objectName().split("/"); - map.put("carType", strArr[1]); - map.put("carModel", "sycar/" + item.objectName()); - /*switch (item.objectName()) { - case "carmodel/aodi.glb": - map.put("carType", "濂ヨ开"); - break; - case "carmodel/baolai.glb": - map.put("carType", "瀹濇潵"); - break; - case "carmodel/bieke.glb": - map.put("carType", "鍒厠"); - break; - case "carmodel/bus1.glb": - map.put("carType", "澶у杞�"); - break; - case "carmodel/car.glb": - map.put("carType", "灏忓瀷杞�"); - break; - case "carmodel/fire(1).glb": - map.put("carType", "娑堥槻杞�"); - break; - case "carmodel/fute.glb": - map.put("carType", "绂忕壒"); - break; - case "carmodel/jingche_a.glb": - map.put("carType", "璀﹁溅"); - break; - case "carmodel/jiuhu.glb": - map.put("carType", "鏁戞姢杞�"); - break; - case "carmodel/oil.glb": - map.put("carType", "娌圭綈杞�"); - break; - case "carmodel/truck.glb": - map.put("carType", "宸ョ▼鐢ㄨ溅"); - break; - case "carmodel/van1.glb": - map.put("carType", "澶ц揣杞�"); - break; - default: - break; - }*/ - listObjetcName.add(map); + try{ + String carType = strArr[2]; + if(!carType.contains(".")){ + map.put("carType", carType); + map.put("carModel", "system/" + item.objectName()); + listObjetcName.add(map); + } + }catch(Exception e){ + e.printStackTrace(); + } } return listObjetcName; } catch (Exception ex) { @@ -934,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 + "_")){ @@ -949,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("鍋滄杩借釜"); @@ -960,9 +948,24 @@ 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) { + position.put("elng",position.get("lng")); + position.put("elat",position.get("lat")); Map<String, Map<String, Object>> data = new HashMap(); data.put("31000", position); WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data)); @@ -985,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("鐢ㄦ埛绂荤嚎锛屽仠姝㈣拷韪�"); } } @@ -1000,9 +1022,24 @@ 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) { + position.put("elng",position.get("lng")); + position.put("elat",position.get("lat")); Map<String, Map<String, Object>> data = new HashMap(); data.put("31000", position); WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data)); @@ -1025,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