From 7de016fea904b91a4b9d4ff3264c779793cfb991 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 26 七月 2023 19:56:47 +0800
Subject: [PATCH] 更新订单管理页面
---
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
index 707e8a4..8c6a2bd 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
@@ -48,6 +48,10 @@
@Override
public void saveOrderPosition(DriverPositionWarpper driverPositionWarpper) throws Exception {
Integer orderId = driverPositionWarpper.getOrderId();
+ Order order = orderService.selectById(orderId);
+ if(order.getState() != 105 && order.getState() != 401){
+ return;
+ }
Integer orderType = driverPositionWarpper.getOrderType();
File file = new File(filePath + orderId + ".json");
if(!file.exists()){
@@ -59,14 +63,22 @@
OrderPositionWarpper orderPositionWarpper = orderPositionWarppers.get(orderPositionWarppers.size() - 1);
saveOrderMileage(driverPositionWarpper, orderPositionWarpper);
}
- //大于50米才存储有效定位数据
+ //大于100米才存储有效定位数据
if(orderPositionWarppers.size() > 0){
OrderPositionWarpper orderPositionWarpper1 = orderPositionWarppers.get(orderPositionWarppers.size() - 1);
String fromLonLat = driverPositionWarpper.getLon() + "," + driverPositionWarpper.getLat();
String toLonLat = orderPositionWarpper1.getLon() + "," + orderPositionWarpper1.getLat();
Map<String, Double> distance = GeodesyUtil.getDistance(fromLonLat, toLonLat);
Double wgs84 = distance.get("WGS84");
- if(wgs84 >= 50){
+
+// long timeMillis = System.currentTimeMillis();
+// long time = orderPositionWarpper1.getInsertTime().getTime();
+// long t = timeMillis - time;
+// if(wgs84 >= 200 && t <= 8){//排除位置漂移
+// return;
+// }
+
+ if(wgs84 >= 50){//5秒165米
OrderPositionWarpper orderPositionWarpper = new OrderPositionWarpper();
BeanUtils.copyProperties(driverPositionWarpper, orderPositionWarpper);
orderPositionWarpper.setInsertTime(new Date());
@@ -99,7 +111,15 @@
Order order = orderService.selectById(driverPositionWarpper.getOrderId());
Double wgs84 = distance.get("WGS84");
Integer num = map.get(order.getId().toString());
- if(50 < wgs84){
+
+// long timeMillis = System.currentTimeMillis();
+// long time = orderPositionWarpper.getInsertTime().getTime();
+// long t = timeMillis - time;
+// if(wgs84 >= 200 && t <= 8){//排除位置漂移
+// return;
+// }
+
+ if(50 < wgs84){//5秒165米
order.setActualMileage(order.getActualMileage() + wgs84.intValue());
orderService.updateById(order);
map.put(order.getId().toString(), 0);
@@ -115,10 +135,14 @@
}
}
}
- if(50 >= wgs84 && 12 <= (null == num ? 0 : num)){//1分钟(5秒上传一次数据)
+
+ if(50 >= wgs84 && 3 <= (null == num ? 0 : num)){//20秒(5秒上传一次数据)
Integer integer = map.get(order.getId().toString());
- map.put(order.getId().toString(), null == integer ? 0 : integer++);
+ map.put(order.getId().toString(), null == integer ? 0 : integer + 1);
//进入等待状态
+ if(order.getState() == 401){
+ return;
+ }
ProcessOperationsWarpper processOperationsWarpper = new ProcessOperationsWarpper();
processOperationsWarpper.setOrderId(order.getId());
processOperationsWarpper.setState(401);
@@ -128,9 +152,9 @@
e.printStackTrace();
}
}
- if(50 >= wgs84 && 12 > (null == num ? 0 : num)){
+ if(50 >= wgs84 && 3 > (null == num ? 0 : num)){
Integer integer = map.get(order.getId().toString());
- map.put(order.getId().toString(), null == integer ? 0 : integer++);
+ map.put(order.getId().toString(), null == integer ? 0 : integer + 1);
}
}
@@ -168,4 +192,9 @@
}
+ @Override
+ public void initMap(Long orderId) throws Exception {
+ map.put(orderId.toString(), 0);
+ }
+
}
--
Gitblit v1.7.1