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 |   41 ++++++++++++++++++++++++++---------------
 1 files changed, 26 insertions(+), 15 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 6f71f7e..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
@@ -75,6 +75,9 @@
 
     @Autowired
     private TDriverPromotionActivityService driverPromotionActivityService;
+    
+    @Resource
+    private IOpenCityService openCityService;
 
 
 
@@ -141,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){
@@ -222,6 +229,8 @@
             orderTaxi.setPromotionUser(driver1.getName());
             orderTaxi.setPromotionPhone(driver1.getPhone());
             orderTaxi.setPromotionDriverId(promotion);
+        }else{
+            orderTaxi.setPromotion(1);
         }
         
         if(null == oldDriverId){
@@ -331,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("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();
             }
@@ -405,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]);
@@ -471,7 +480,9 @@
      */
     @Override
     public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception {
-        return orderTaxiMapper.queryOrderInfo(orderId);
+        OrderTaxi orderTaxi = this.selectById(orderId);
+        OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
+        return orderTaxiMapper.queryOrderInfo(orderId, openCity.getId());
     }
 
 

--
Gitblit v1.7.1