From d6a14beb93cb572247db0edff3f25f99e217fcf1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 22 八月 2025 15:34:17 +0800
Subject: [PATCH] 修改bug

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 0a007d2..9d06f60 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -144,23 +144,27 @@
      */
     @Override
     public ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception {
-        OrderPrivateCar orderPrivateCar1 = orderPrivateCarService.selectById(orderId);
-        if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() != 1&& orderPrivateCar1.getState() != 11){
-            return ResultUtil.error("订单已被抢了");
-        }
-        OrderTaxi orderTaxi = null;
-        if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() == 1&& orderPrivateCar1.getState() == 11){
-            orderPrivateCarService.deleteById(orderId);
-            OrderTaxi orderTaxi1 = setOrderTaxi(orderPrivateCar1);
-            this.insert(orderTaxi1);
-            orderTaxi = orderTaxi1;
+        OrderTaxi orderTaxi = this.selectById(orderId);
+        if(null != orderTaxi && orderTaxi.getType() == 2){
+            if(orderTaxi.getState() != 1){
+                return ResultUtil.error("订单已被抢了");
+            }
         }else{
-            orderTaxi = this.selectById(orderId);
+            OrderPrivateCar orderPrivateCar1 = orderPrivateCarService.selectById(orderId);
+            if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() != 1&& orderPrivateCar1.getState() != 11){
+                return ResultUtil.error("订单已被抢了");
+            }
+            orderTaxi = null;
+            if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && (orderPrivateCar1.getState() == 1||  orderPrivateCar1.getState() == 11)){
+                orderPrivateCarService.deleteById(orderId);
+                OrderTaxi orderTaxi1 = setOrderTaxi(orderPrivateCar1);
+                this.insert(orderTaxi1);
+                orderTaxi = orderTaxi1;
+            }
         }
         if(null == orderTaxi){
             return ResultUtil.error("订单已被抢了");
         }
-
 
         //处理摆渡车的情况
         if(orderTaxi.getType() == 2){
@@ -336,7 +340,7 @@
         UserInfo userInfo = userInfoMapper.selectById(userId);
         if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
             String registAreaCode = userInfo.getRegistAreaCode();
-            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1).eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1).eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1"));
             if(tDriverPromotionActivity!=null){
                 return userInfo.getBindDriverId();
             }
@@ -410,7 +414,7 @@
         orderTaxi.setStartServiceTime(date);
         orderTaxi.setBoardingTime(date);
     
-        String value = (String) redisTemplate.opsForValue().get("DRIVER" + uid);
+        String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + uid);
         if (ToolUtil.isNotEmpty(value)) {
             String[] split = value.split(",");
             Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(split[0], split[1]);

--
Gitblit v1.7.1