From 7c1e2217d0e4aad7498a5c136710c33cb55d00d0 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期三, 17 七月 2024 15:11:00 +0800
Subject: [PATCH] 三一车辆模型bug修改提交
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 131 +++++++++++++++++++++++++------------------
1 files changed, 76 insertions(+), 55 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 baa6568..8197af4 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
@@ -26,6 +26,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdAccessFence;
+import com.ruoyi.sy.mapper.ArdTankLockMapper;
import com.ruoyi.sy.param.ArdSyCarParam;
import com.ruoyi.sy.vo.ArdSyCarVo;
import com.ruoyi.system.mapper.SysDeptMapper;
@@ -98,6 +99,9 @@
@Resource
private SysDeptMapper sysDeptMapper;
+
+ @Resource
+ private ArdTankLockMapper ardTankLockMapper;
@Value("${minio.endpoint}")
private String minioEndpoint;
@@ -212,7 +216,16 @@
}
}
MinioUtil.removeObjects("sycar", objectNames);
- return ardSyCarMapper.deleteArdSyCarByIds(ids);
+ try{
+ return ardSyCarMapper.deleteArdSyCarByIds(ids);
+ }finally {
+ List<String> carIds = new ArrayList();
+ for(ArdSyCar ardSyCar : result){
+ carIds.add(ardSyCar.getCarId());
+ }
+ ardTankLockMapper.deleteArdTankLockAndWallByCarIds(carIds);
+ }
+
}
/**
@@ -694,9 +707,9 @@
break;
}
}
- if(!isCar){
+ /*if(!isCar){
list.remove(list.get(i));
- }
+ }*/
}
return list;
}
@@ -1317,62 +1330,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