From 31ce6be2d56798d9509e6d90335999064351f7f3 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 10 十二月 2024 16:06:26 +0800
Subject: [PATCH] 12.10

---
 DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index 942611b..a58fbcf 100644
--- a/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -5,6 +5,7 @@
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.LineShiftDriverMapper;
 import com.stylefeng.guns.modular.system.dao.OrderCrossCityMapper;
+import com.stylefeng.guns.modular.system.dao.OrderTransferMapper;
 import com.stylefeng.guns.modular.system.dao.ReassignMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
@@ -262,6 +263,32 @@
             //添加消息
             systemNoticeService.addSystemNotice(1, "调度已成功取消出行订单,谢谢使用!", orderPrivateCar.getUserId(), 1);
         }
+
+        if(reassign.getOrderType() == 7){//专车
+            OrderTransferCar orderPrivateCar = orderTransferService.selectById(reassign.getOrderId());
+            if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
+                return ResultUtil.error("订单状态不在可取消范围内");
+            }
+            orderPrivateCar.setState(10);//取消
+            orderTransferService.updateById(orderPrivateCar);
+
+            new Thread(new Runnable() {//发送消息提醒
+                @Override
+                public void run() {
+                    pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), reassign.getOrderId(), 7, 10, 0);
+                    if(null != orderPrivateCar.getDriverId()){
+                        //修改司机为空闲
+                        Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+                        driver.setState(2);
+                        driverService.updateById(driver);
+                        pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), reassign.getOrderId(), 7, 10, 0);
+                    }
+                }
+            }).start();
+            //添加消息
+            systemNoticeService.addSystemNotice(1, "调度已成功取消出行订单,谢谢使用!", orderPrivateCar.getUserId(), 1);
+        }
+
         if(reassign.getOrderType() == 3){//跨城
             OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
             if(orderCrossCity.getState() > 5 && orderCrossCity.getState() != 11){
@@ -433,6 +460,13 @@
                 return ResultUtil.error("订单状态不在可改派范围内");
             }
         }
+        if(reassign.getOrderType() == 7){//专车
+            OrderTransferCar orderTransferCar = orderTransferService.selectById(reassign.getOrderId());
+            if(orderTransferCar.getState() != 11){
+                return ResultUtil.error("订单状态不在可改派范围内");
+            }
+        }
+
         if(reassign.getOrderType() == 3){//跨城
             OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
             if(orderCrossCity.getState() != 11){
@@ -469,6 +503,13 @@
                         orderPrivateCar.setOldState(null);
                         orderPrivateCarService.updateAllColumnById(orderPrivateCar);
                     }
+                    if(reassign.getOrderType() == 7){//专车
+                        OrderTransferCar orderPrivateCar = orderTransferService.selectById(reassign.getOrderId());
+                        orderPrivateCar.setState(orderPrivateCar.getOldState());
+                        orderPrivateCar.setOldState(null);
+                        orderTransferService.updateAllColumnById(orderPrivateCar);
+                    }
+
                     if(reassign.getOrderType() == 3){//跨城
                         OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
                         orderCrossCity.setState(orderCrossCity.getOldState());
@@ -498,6 +539,14 @@
                     orderPrivateCar.setOldState(null);
                     orderPrivateCarService.updateAllColumnById(orderPrivateCar);
                 }
+
+                if(reassign.getOrderType() == 7){//专车
+                    OrderTransferCar orderPrivateCar = orderTransferService.selectById(reassign.getOrderId());
+                    orderPrivateCar.setState(orderPrivateCar.getOldState());
+                    orderPrivateCar.setOldState(null);
+                    orderTransferService.updateAllColumnById(orderPrivateCar);
+                }
+
                 if(reassign.getOrderType() == 3){//跨城
                     OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
                     orderCrossCity.setState(orderCrossCity.getOldState());
@@ -518,6 +567,14 @@
                 orderPrivateCar.setOldState(null);
                 orderPrivateCarService.updateAllColumnById(orderPrivateCar);
             }
+            if(reassign.getOrderType() == 7){//专车
+                OrderTransferCar orderPrivateCar = orderTransferService.selectById(reassign.getOrderId());
+                orderPrivateCar.setState(orderPrivateCar.getOldState());
+                orderPrivateCar.setOldState(null);
+                orderTransferService.updateAllColumnById(orderPrivateCar);
+            }
+
+
             if(reassign.getOrderType() == 3){//跨城
                 OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());
                 orderCrossCity.setState(orderCrossCity.getOldState());
@@ -529,6 +586,8 @@
     }
 
 
+    @Autowired
+    private IOrderTransferService orderTransferService;
     /**
      * 执行改派操作
      * @param id
@@ -578,6 +637,26 @@
             orderPrivateCarService.updateAllColumnById(orderPrivateCar);
         }
 
+        if(reassign.getOrderType() == 7){//专车
+            //修改原司机信息
+            Driver driver = driverService.selectById(reassign.getOriginalDriverId());
+            driver.setState(2);
+            driverService.updateById(driver);
+
+            //修改新司机信息
+            nowDriver.setState(3);
+            driverService.updateById(nowDriver);
+
+            //修改订单数据
+            OrderTransferCar orderPrivateCar = orderTransferService.selectById(reassign.getOrderId());
+            orderPrivateCar.setDriverId(driverId);
+            orderPrivateCar.setCarId(nowDriver.getCarId());
+            orderPrivateCar.setState(orderPrivateCar.getOldState());
+            orderPrivateCar.setOldState(null);
+            orderTransferService.updateAllColumnById(orderPrivateCar);
+        }
+
+
         if(reassign.getOrderType() == 3){//跨陈
             //修改原司机信息
             OrderCrossCity orderCrossCity = orderCrossCityService.selectById(reassign.getOrderId());

--
Gitblit v1.7.1