From eaa61bc9ecd9158f192f9999845cb2f05e6970fb Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 21 八月 2025 02:09:02 +0800
Subject: [PATCH] 修改bug

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java |   62 ++++++++++++++++++------------
 1 files changed, 37 insertions(+), 25 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..0f8679a 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;
     }
@@ -1168,7 +1179,8 @@
                         .where("'" + geocode.getCity() + "' like CONCAT('%', city, '%') and '" + geocode.getDistrict() + "' like CONCAT('%', district, '%') "));
                 city = null != weatherCity ? weatherCity.getId().toString() : "";
             }
-            boolean badWeather = WeatherUtil.isBadWeather(city);
+//            boolean badWeather = WeatherUtil.isBadWeather(city);
+            boolean badWeather = false;
             if(badWeather){
                 Integer num8 = JSON.parseObject(systemConfig.getContent()).getInteger("num8");
                 if(num8 > 0){
@@ -1203,7 +1215,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 +1262,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 +1550,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 +1574,7 @@
             }
             if(state == 108 && order.getState() != 107){
                 redisUtil.unlock(orderId + "");
-                return ResultUtil.error("操作失败,请刷新数据");
+//                return ResultUtil.error("操作失败,请刷新数据");
             }
 
             order.setState(state);

--
Gitblit v1.7.1