puzhibing
2023-07-26 709a4a10be56952ead6340e4822fce41a66e47cd
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -388,7 +388,6 @@
                            BigDecimal subtract = new BigDecimal(num9).subtract(new BigDecimal(add));
                            order.setOverBadWeatherPrice(subtract.doubleValue());//恶劣天气超出公里费
                        }
                    }
                }
            }
        }
@@ -1149,7 +1148,25 @@
     */
    @Override
    public ResultUtil transferOrder(Integer uid, Long orderId, String cause) throws Exception {
        // 7.13改动
        OrderTransfer orderTransfer = new OrderTransfer();
        Order order = this.selectById(orderId);
        if(phone!=null && !"".equals(phone)) {
            List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("phone", phone));
            if (drivers.size() == 0) {
                return ResultUtil.error("暂无该司机,无法转单");
            } else {
                Driver driver = drivers.get(0);
                if (driver.getServerStatus() != 1) {
                    return ResultUtil.error("司机正在服务中,无法转单。");
                }
                if (driver.getStatus() != 1) {
                    return ResultUtil.error("该司机已被冻结,无法转单。");
                }
                order.setDriverId(driver.getId());
                orderTransfer.setNewDriverId(driver.getId());
            }
        }
        if(order.getDriverId().compareTo(uid) != 0){
            return ResultUtil.error("无权操作");
        }
@@ -1160,22 +1177,24 @@
        order.setState(201);
        this.updateById(order);
        OrderTransfer orderTransfer = new OrderTransfer();
        orderTransfer.setOrderId(orderId);
        orderTransfer.setOldDriverId(order.getDriverId());
        orderTransfer.setCause(cause);
        orderTransfer.setStatus(1);
        orderTransfer.setCreateTime(new Date());
        orderTransferService.insert(orderTransfer);
        if(phone==null ||"".equals(phone)){
            //开始派单
            Order finalOrder = order;
            new Thread(new Runnable() {
                @Override
                public void run() {
                    pushOrder(finalOrder);
                }
            }).start();
        }
        //开始派单
        Order finalOrder = order;
        new Thread(new Runnable() {
            @Override
            public void run() {
                pushOrder(finalOrder.getId());
            }
        }).start();
        return ResultUtil.success();
    }
@@ -2172,10 +2191,6 @@
            if(performanceRankingWarpper.getDriverId().compareTo(driverId) == 0){
                break;
            }
            if(i == performanceRankingWarppers.size() - 1){
                position = 0;
                d = 0D;
            }
        }
        MyAchievementWarpper myAchievementWarpper = new MyAchievementWarpper();
        myAchievementWarpper.setType("订单");
@@ -2198,10 +2213,6 @@
            if(performanceRankingWarpper.getDriverId().compareTo(driverId) == 0){
                break;
            }
            if(i == performanceRankingWarppers.size() - 1){
                position = 0;
                d = 0D;
            }
        }
        myAchievementWarpper = new MyAchievementWarpper();
        myAchievementWarpper.setType("收入");
@@ -2223,10 +2234,6 @@
            }
            if(performanceRankingWarpper.getDriverId().compareTo(driverId) == 0){
                break;
            }
            if(i == performanceRankingWarppers.size() - 1){
                position = 0;
                d = 0D;
            }
        }
        myAchievementWarpper = new MyAchievementWarpper();