From 24e152d8a574e77b1909a8fea4703d4fe835c2a5 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 05 七月 2024 11:53:07 +0800
Subject: [PATCH] 查询电磁锁及挂接的车辆提交
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 118 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 65 insertions(+), 53 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 a6cf4d0..118dcdf 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
@@ -718,7 +718,11 @@
Map<String, Object> result1 = sYClient.logIn(syURL, passwordMd5, username31);
Map<String, Object> result0 = new HashMap();
//result0 = sYClient.getCarGPSTrack(syURL, carId, startTime, endTime, maxSpeed, (String) result1.get("sessionId"));
- result0 = getCarGPSTrack(syURL, carId, startTime, endTime, maxSpeed, (String) result1.get("sessionId"));
+ try {
+ result0 = getCarGPSTrack(syURL, carId, startTime, endTime, maxSpeed, (String) result1.get("sessionId"));
+ } catch (Exception e) {
+ return Results.error("鏌ヨ鍘嗗彶鏁版嵁鏁伴噺杩囧瀵艰嚧瓒呮椂锛岃缂╁皬鑼冨洿鏌ヨ锛�");
+ }
List<Map<String, Object>> list = (List<Map<String, Object>>) result0.get("list");
if (list.isEmpty()) {
return Results.succeed();
@@ -1313,62 +1317,70 @@
*/
@Override
public List<Map<String, Object>> getNearCar(SchedulingParam param) {
- Double longitude = param.getLongitude();
- Double latitude = param.getLatitude();
- Integer radius = param.getSealingRadius();
- if (longitude == null && latitude == null) {
- log.debug("鍘熺偣鍧愭爣涓虹┖");
- return null;
- }
- if (radius == null) {
- log.debug("鍗婂緞璺濈涓虹┖");
- return null;
- }
- String userId = SecurityUtils.getUserId();
- ArdSyUser syUser = new ArdSyUser();
- syUser.setSysUserId(userId);
- List<ArdSyUser> ardSyUserList = ardSyUserMapper.selectArdSyUserList(syUser);
- if (ardSyUserList.size() == 0) {
- log.debug("鐢ㄦ埛鏈寕鎺ヤ笁涓�杞﹁締");
- return null;
- }
- ArdSyUser ardSyUser = ardSyUserList.get(0);
- String syUrl = redisCache.getCacheObject("sys_config:syCarPT");
- String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
- Map<String, Object> LogInResult = sYClient.logIn(syUrl, passwordMd5, ardSyUser.getUserId());
- String sessionId = (String) LogInResult.get("sessionId");
+ try {
+ Double longitude = param.getLongitude();
+ Double latitude = param.getLatitude();
+ Integer radius = param.getSealingRadius();
+ if (longitude == null && latitude == null) {
+ log.debug("鍘熺偣鍧愭爣涓虹┖");
+ return null;
+ }
+ if (radius == null) {
+ log.debug("鍗婂緞璺濈涓虹┖");
+ return null;
+ }
+ String userId = SecurityUtils.getUserId();
+ ArdSyUser syUser = new ArdSyUser();
+ syUser.setSysUserId(userId);
+ List<ArdSyUser> ardSyUserList = ardSyUserMapper.selectArdSyUserList(syUser);
+ if (ardSyUserList.size() == 0) {
+ log.debug("鐢ㄦ埛鏈寕鎺ヤ笁涓�杞﹁締");
+ return null;
+ }
+ ArdSyUser ardSyUser = ardSyUserList.get(0);
+ String syUrl = redisCache.getCacheObject("sys_config:syCarPT");
+ String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
+ Map<String, Object> LogInResult = sYClient.logIn(syUrl, passwordMd5, ardSyUser.getUserId());
+ String sessionId = (String) LogInResult.get("sessionId");
- Map<String, Object> teamList = sYClient.getTeamList(syUrl, ardSyUser.getUserId(), sessionId);
- List<Map<String, Object>> listMap = (List<Map<String, Object>>) teamList.get("list");
- List<Map<String, Object>> allList = new ArrayList<>();
- for (Map<String, Object> team : listMap) {
- String teamId = (String) team.get("teamId");
- Map<String, Object> carListMap = sYClient.getCarList1(syUrl, teamId, ardSyUser.getUserId(), sessionId);
- if (((String) carListMap.get("rspCode")).equals("1")) {
- List<Map<String, Object>> list = (List<Map<String, Object>>) carListMap.get("list");
- allList.addAll(list);
+ Map<String, Object> teamList = sYClient.getTeamList(syUrl, ardSyUser.getUserId(), sessionId);
+ List<Map<String, Object>> listMap = (List<Map<String, Object>>) teamList.get("list");
+ List<Map<String, Object>> allList = new ArrayList<>();
+ for (Map<String, Object> team : listMap) {
+ String teamId = (String) team.get("teamId");
+ Map<String, Object> carListMap = sYClient.getCarList1(syUrl, teamId, ardSyUser.getUserId(), sessionId);
+ if (((String) carListMap.get("rspCode")).equals("1")) {
+ List<Map<String, Object>> list = (List<Map<String, Object>>) carListMap.get("list");
+ allList.addAll(list);
+ }
}
- }
- //杩囨护鍦ㄧ嚎杞﹁締
- List<Map<String, Object>> onlineList = allList.stream()
- .filter(map -> !"绂荤嚎".equals(map.get("stateCn")))
- .collect(Collectors.toList());
- List<Map<String, Object>> filteredList = new ArrayList<>();
- //杩囨护鍗婂緞
- for (Map<String, Object> carMap : onlineList) {
- String carId = (String) carMap.get("carId");
- Map<String, Object> carGPSTrack = sYClient.getCarNearPositionByCarId(syUrl, carId, ardSyUser.getUserId(), sessionId);
- List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list");
- Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
- Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
- double distance = GisUtil.getDistance( new double[]{longitude,latitude}, new double[]{lng, lat});
- if (distance <= radius) {
- carMap.put("longitude",lng);
- carMap.put("latitude",lat);
- filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+ //杩囨护鍦ㄧ嚎杞﹁締
+ List<Map<String, Object>> onlineList = allList.stream()
+ .filter(map -> !"绂荤嚎".equals(map.get("stateCn")))
+ .collect(Collectors.toList());
+ List<Map<String, Object>> filteredList = new ArrayList<>();
+ //杩囨护鍗婂緞
+ for (Map<String, Object> carMap : onlineList) {
+ String carId = (String) carMap.get("carId");
+ Map<String, Object> carGPSTrack = sYClient.getCarNearPositionByCarId(syUrl, carId, ardSyUser.getUserId(), sessionId);
+ List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list");
+ if(carGPSMap.size()>0) {
+ Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
+ Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
+ double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lng, lat});
+ if (distance <= radius) {
+ carMap.put("longitude", lng);
+ carMap.put("latitude", lat);
+ filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+ }
+ }
}
+ return filteredList;
+ }catch (Exception e)
+ {
+ log.error("鑾峰彇闄勮繎鑼冨洿鍐呯殑杞﹁締淇℃伅寮傚父:"+e.getMessage());
+ return null;
}
- return filteredList;
}
/**
* 鑾峰彇鑼冨洿鍐呯殑杞﹁締淇℃伅(澶氳竟褰�)
--
Gitblit v1.9.3