From 4041cb7dafbd2fd394b31d95c5e64528b9f91505 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 25 七月 2025 14:55:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 938b103..eca95fe 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -90,13 +90,14 @@
     @Resource
     private CarServiceMapper carServiceMapper;
     
-    @Autowired
-    private RedisTemplate redisTemplate;
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
     
     
     /**
      * 获取司机端首页订单列表
-     * @param state     1=服务中,2=待服务(30分钟定义预约)
+     *
+     * @param state    1=服务中,2=待服务(30分钟定义预约)
      * @param driverId
      * @return
      * @throws Exception
@@ -160,7 +161,7 @@
                     new EntityWrapper<OrderTaxi>()
                             .eq("type", 2)
                             .eq("userId", orderPrivateCar.getUserId())
-                            .ne("state", 1)
+                            .notIn("state", 1,11)
                             .eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId())
                             .eq("place", orderPrivateCar.getPlace())
             );
@@ -172,9 +173,15 @@
         if(orderPrivateCar.getState() == 10){
             return ResultUtil.error("订单已取消");
         }
-        if(orderPrivateCar.getState() != 1){
+        if(orderPrivateCar.getState() != 1 && orderPrivateCar.getState() != 11){
             return ResultUtil.error("手速有点慢哦,订单已被抢啦!");
         }
+
+        Integer oldDriverId = null;
+        if(orderPrivateCar.getState()==11){
+            oldDriverId= orderPrivateCar.getDriverId();
+        }
+
         Driver driver = driverService.selectById(uid);
         if(orderPrivateCar.getType() == 3){
             //批量订单
@@ -258,14 +265,22 @@
         }
 
         //推送相关代码------------------start----------------
+        Integer finalOldDriverId = oldDriverId;
         new Thread(new Runnable() {
             @Override
             public void run() {
-                pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState());
-                pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState());
-                if(orderPrivateCar.getType() == 2){
-                    pushUtil.pushFerryOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 2);
+                if(finalOldDriverId !=null){
+                    pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState());
+                    pushUtil.pushOrderReassign(orderPrivateCar.getUserId(),1 , orderPrivateCar.getId(), 1);
+                    pushUtil.pushOrderReassign(finalOldDriverId,2, orderPrivateCar.getId(), 1);
+                }else {
+                    pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState());
+                    pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState());
+                    if(orderPrivateCar.getType() == 2){
+                        pushUtil.pushFerryOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 2);
+                    }
                 }
+
             }
         }).start();
 

--
Gitblit v1.7.1