liujie
2025-08-05 20567082b4ce546df740650a0223fb56d69983f7
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -102,7 +102,6 @@
    private String callbackPath;
    /**
     * 提交改派申请
     * @param uid           申请司机id
@@ -269,8 +268,6 @@
//                }
            }
            if(reassign.getPayType() == 4){
                // TODO 司机云闪付 改派调起云闪付
@@ -280,6 +277,52 @@
            }
        }
        return resultUtil;
    }
    @Override
    public ResultUtil saveDataCancel(Reassign reassign, Integer uid, Integer type) throws Exception {
        Driver driver = driverService.selectById(uid);
        //修改改派通知状态
        switch (reassign.getOrderType()) {
            case 1:
                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId());
                orderPrivateCar.setState(orderPrivateCar.getOldState());
                orderPrivateCar.setReassignNotice(0);
                orderPrivateCarService.updateById(orderPrivateCar);
                Company company = companyService.selectById(driver.getCompanyId());
                //中台修改订单状态
                ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
                request.setOrderId(orderPrivateCar.getTravelId());
                request.setStatus(orderPrivateCar.getState());
                request.setDriverId(driver.getEmpId().toString());
                if (2 == orderPrivateCar.getPromotion()) {
                    Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
                    request.setPromoterId(driver1.getEmpId().toString());
                }
                request.setSupplierShopId(company.getEnterCode());
                OrderUtil.modifyTravelItinerary(request);
                break;
            case 2:
                OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId());
                orderTaxi.setState(orderTaxi.getOldState());
                orderTaxi.setReassignNotice(0);
                orderTaxiService.updateById(orderTaxi);
                Company company1 = companyService.selectById(driver.getCompanyId());
                //中台修改订单状态
                ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
                request1.setOrderId(orderTaxi.getTravelId());
                request1.setStatus(orderTaxi.getState());
                request1.setDriverId(driver.getEmpId().toString());
                if (2 == orderTaxi.getPromotion()) {
                    Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
                    request1.setPromoterId(driver1.getEmpId().toString());
                }
                request1.setSupplierShopId(company1.getEnterCode());
                OrderUtil.modifyTravelItinerary(request1);
                break;
        }
        return ResultUtil.success();
    }
@@ -515,8 +558,6 @@
    }
    /**
     * 获取列表数据
     * @param uid
@@ -530,7 +571,6 @@
        pageNum = (pageNum - 1) * size;
        return reassignMapper.queryList(uid, pageNum, size);
    }
    public static List<Integer> orderIds = new ArrayList<>();
@@ -597,7 +637,6 @@
                    // qyt 新增改派 重新推送
                }else{
@@ -689,6 +728,7 @@
    }
    @Autowired
    private ICompanyCityService companyCityService;
@@ -726,6 +766,7 @@
                        //获取空闲司机
                        List<Driver> list = driverService.queryIdleDriver(2, orderTaxi.getStartLon(), orderTaxi.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                        list = list.stream().filter(e->e.getId()!=uid).collect(Collectors.toList());
                        OrderTaxi orderTaxi1 = orderTaxiService.selectById(orderTaxi.getId());
                        if (list.size() > 0) {
                            double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
                            int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取)
@@ -747,12 +788,11 @@
                            }
                        }
                        Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间
                        OrderTaxi orderTaxi1 = orderTaxiService.selectById(orderTaxi.getId());
                        Integer state = orderTaxi1.getState();
                        if (state != 1) {
                        if (state != 1 || state!= 11) {
                            break;
                        }
                        if (i == 6 && state == 1) {
                        if (i == 6 && (state == 1 || state==11)) {
                            pushUtil.pushEndPush(1, orderTaxi.getUserId(), orderTaxi.getId(), 2);
                            orderTaxi1.setState(10);
                            orderTaxiService.updateById(orderTaxi1);
@@ -789,7 +829,7 @@
                    List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数
                    for(int i = 1; i <= 6; i++){
                        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id);
                        if (null == orderPrivateCar || orderPrivateCar.getState() > 1) {
                        if (null == orderPrivateCar || (orderPrivateCar.getState() > 1 && orderPrivateCar.getState() != 11)) {
                            break;
                        }
                        int finalI = i;
@@ -800,7 +840,7 @@
                            i2=1;
                        }
                        for (int i1 = 0; i1 < i2 ; i1++) {
                            if (orderPrivateCar.getState() > 1) {
                            if (orderPrivateCar.getState() > 1 && orderPrivateCar.getState() != 11) {
                                break;
                            }
                            //获取空闲司机
@@ -827,11 +867,11 @@
                            }
                            Thread.sleep(10000);//设置等待时间
                            Integer state = orderPrivateCar.getState();
                            if (state > 1) {
                            if (state > 1 && state != 11) {
                                orderIds.remove(orderPrivateCar.getId());
                                return;
                            }
                            if (i == 6 && state == 1) {
                            if (i == 6 && (state == 1 || state==11)) {
                                pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
                                orderPrivateCar.setState(10);
                                orderPrivateCarService.updateById(orderPrivateCar);