From ba6b508a44cb1f0730c6a27a5d73b8d2ae8f1d4b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 19 八月 2025 18:43:47 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QYTDriving

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
index a1d2745..854ddc9 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -548,7 +548,7 @@
                         .eq("state", 2).last(" and surplusQuantity > 0 and now() < endTime and now() < failureTime"));
                 Double d = null;
                 for (YouTuiDriver youTuiDriver : youTuiDrivers) {
-                    String value = redisUtil.getValue("DRIVER" + youTuiDriver.getDriverId());
+                    String value = redisUtil.getValue("daijia:DRIVER" + youTuiDriver.getDriverId());
                     if(ToolUtil.isEmpty(value)){
                         continue;
                     }
@@ -602,7 +602,7 @@
                         Double score = null;//评分
                         Double d = null;
                         for (Driver driver1 : drivers) {
-                            String value = redisUtil.getValue("DRIVER" + driver1.getId());
+                            String value = redisUtil.getValue("daijia:DRIVER" + driver1.getId());
                             if(ToolUtil.isEmpty(value)){
                                 continue;
                             }
@@ -729,7 +729,7 @@
             return;
         }
         for (Driver driver1 : drivers) {
-            String value = redisUtil.getValue("DRIVER" + driver1.getId());
+            String value = redisUtil.getValue("daijia:DRIVER" + driver1.getId());
             if (ToolUtil.isEmpty(value)) {
                 continue;
             }
@@ -752,7 +752,7 @@
     @Override
     public List<HallOrderList> queryOrderHall(Integer uid, Integer pageNum, Integer pageSize) throws Exception {
         pageNum = (pageNum - 1) * pageSize;
-        String value = redisUtil.getValue("DRIVER" + uid);
+        String value = redisUtil.getValue("daijia:DRIVER" + uid);
         List<HallOrderList> hallOrderLists = this.baseMapper.queryOrderHall(pageNum, pageSize);
         List<HallOrderList> lists = new ArrayList<>();
         hallOrderLists.forEach(hallOrderList -> {
@@ -990,7 +990,7 @@
         if(ToolUtil.isEmpty(orderInfoWarpper.getAvatar())){
             orderInfoWarpper.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/66cc269703a84e4da87fb21e2c21ab1f.png");
         }
-        String value = redisUtil.getValue("DRIVER" + uid);
+        String value = redisUtil.getValue("daijia:DRIVER" + uid);
         orderInfoWarpper.setPickUpTime(0);
         if(ToolUtil.isNotEmpty(value)){
             Map<String, Double> distance = GeodesyUtil.getDistance(orderInfoWarpper.getStartLng() + "," + orderInfoWarpper.getStartLat(), value);
@@ -999,6 +999,17 @@
             Map<String, String> distance1 = MapUtil.getDistance(orderInfoWarpper.getStartLng() + "," + orderInfoWarpper.getStartLat(), value, 0);
             orderInfoWarpper.setPickUpTime(Integer.valueOf(distance1.get("duration")) / 60);
         }
+
+        Map<String, String> distance = MapUtil.getDistance(order.getStartLng() + "," + order.getStartLat(), order.getEndLng() + "," + order.getEndLat(), 1);
+        if(null != distance){
+            Double d = Double.valueOf(distance.get("distance")) / 1000;
+            orderInfoWarpper.setEstimatedMileage(d);
+            orderInfoWarpper.setEstimatedTime(Double.valueOf(Integer.valueOf(distance.get("duration")) / 60));
+            Driver driver = driverService.selectById(uid);
+            Order orderPrice = getOrderPrice(1, d, 0, order, "", driver.getBranchOfficeId());
+            orderInfoWarpper.setEstimatedPrice(orderPrice.getEstimatedPrice());
+        }
+
         orderInfoWarpper.setDriverId(order.getDriverId());
         return orderInfoWarpper;
     }
@@ -1203,7 +1214,7 @@
             return;
         }
         Integer driverId = order.getDriverId();
-        String value = redisUtil.getValue("DRIVER" + driverId);
+        String value = redisUtil.getValue("daijia:DRIVER" + driverId);
         if(order.getState() == 106 || order.getState() == 301){
             redisUtil.delSetValue("orderService", orderId.toString());
             return;
@@ -1250,7 +1261,7 @@
             return;
         }
         Integer driverId = order.getDriverId();
-        String value = redisUtil.getValue("DRIVER" + driverId);
+        String value = redisUtil.getValue("daijia:DRIVER" + driverId);
         if(order.getState() == 108 || order.getState() == 111){
             redisUtil.delSetValue("orderService_check", orderId.toString());
             return;
@@ -1538,22 +1549,22 @@
     public ResultUtil setOrderStatus(Integer uid, Long orderId, Integer payType, Integer state) throws Exception {
         try {
             boolean lock = redisUtil.lock(orderId + "",5);
-            if(!lock){
-                int num1 = 1;
-                while (num1 <= 10){
-                    Thread.sleep(3000);//等待3秒
-                    lock = redisUtil.lock(orderId + "",5);
-                    if(lock){
-                        break;
-                    }else{
-                        num1++;
-                    }
-                }
-            }
-            if(!lock){
-                redisUtil.unlock(orderId + "");
-                return ResultUtil.error("请稍后重试");
-            }
+//            if(!lock){
+//                int num1 = 1;
+//                while (num1 <= 10){
+//                    Thread.sleep(3000);//等待3秒
+//                    lock = redisUtil.lock(orderId + "",5);
+//                    if(lock){
+//                        break;
+//                    }else{
+//                        num1++;
+//                    }
+//                }
+//            }
+//            if(!lock){
+//                redisUtil.unlock(orderId + "");
+//                return ResultUtil.error("请稍后重试");
+//            }
 
             Order order = this.selectById(orderId);
             if(state == 107 && order.getState() != 106){
@@ -1562,7 +1573,7 @@
             }
             if(state == 108 && order.getState() != 107){
                 redisUtil.unlock(orderId + "");
-                return ResultUtil.error("操作失败,请刷新数据");
+//                return ResultUtil.error("操作失败,请刷新数据");
             }
 
             order.setState(state);

--
Gitblit v1.7.1