luodangjia
2024-12-10 31ce6be2d56798d9509e6d90335999064351f7f3
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());