Pu Zhibing
2025-09-02 e9d0eb5d4f43c3cd5a37283151d69683b3ddd6bf
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -222,7 +222,7 @@
//        }
        // 是否推广订单
        Integer promotion = isPromotion(orderTaxi.getUserId());
        Integer promotion = isPromotion(orderTaxi.getUserId(), driver.getPlaceOfEmployment());
        if(promotion!=null){
            orderTaxi.setPromotion(2);
            Driver driver1 = driverService.selectById(promotion);
@@ -251,18 +251,20 @@
            orderTaxi.setTravelId(travelItinerary);
        }else{
            //改派抢单
            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());
            if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
                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);
            }
            request1.setSupplierShopId(company1.getEnterCode());
            OrderUtil.modifyTravelItinerary(request1);
        }
        this.updateById(orderTaxi);
@@ -336,11 +338,11 @@
        return ResultUtil.success(orderTaxi.getId());
    }
    private Integer isPromotion(Integer userId){
    private Integer isPromotion(Integer userId, String code){
        UserInfo userInfo = userInfoMapper.selectById(userId);
        if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
            String registAreaCode = userInfo.getRegistAreaCode();
            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1).eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1"));
            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1)
                    .eq("districtCode", code).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1"));
            if(tDriverPromotionActivity!=null){
                return userInfo.getBindDriverId();
            }
@@ -379,6 +381,7 @@
        orderTaxi.setOrderType(orderPrivateCar.getOrderType());
        orderTaxi.setOrderSource(orderPrivateCar.getOrderSource());
        orderTaxi.setIsDelete(1);
        orderTaxi.setIsReassign(1);
        return orderTaxi;
    }
@@ -496,6 +499,9 @@
    @Override
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception {
        OrderTaxi orderTaxi = this.selectById(orderId);
        if(10 == orderTaxi.getState()){
            return ResultUtil.error("订单已被取消,不能继续操作");
        }
        switch (state){
            case 3://出发前往预约点
                orderTaxi.setState(3);
@@ -531,19 +537,21 @@
        }
        this.updateById(orderTaxi);
    
        Driver driver = driverService.selectById(orderTaxi.getDriverId());
        Company company = companyService.selectById(driver.getCompanyId());
        //中台修改订单状态
        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
        request.setOrderId(orderTaxi.getTravelId());
        request.setStatus(orderTaxi.getState());
        request.setDriverId(driver.getEmpId().toString());
        if(2 == orderTaxi.getPromotion()){
            Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
            request.setPromoterId(driver1.getEmpId().toString());
        if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
            Driver driver = driverService.selectById(orderTaxi.getDriverId());
            Company company = companyService.selectById(driver.getCompanyId());
            //中台修改订单状态
            ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
            request.setOrderId(orderTaxi.getTravelId());
            request.setStatus(orderTaxi.getState());
            request.setDriverId(driver.getEmpId().toString());
            if(2 == orderTaxi.getPromotion()){
                Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
                request.setPromoterId(driver1.getEmpId().toString());
            }
            request.setSupplierShopId(company.getEnterCode());
            OrderUtil.modifyTravelItinerary(request);
        }
        request.setSupplierShopId(company.getEnterCode());
        OrderUtil.modifyTravelItinerary(request);
        // TODO: 2020/6/5 推送状态
        new Thread(new Runnable() {
@@ -589,18 +597,20 @@
        this.updateById(orderTaxi);
    
        Driver driver = driverService.selectById(orderTaxi.getDriverId());
        Company company = companyService.selectById(driver.getCompanyId());
        //中台修改订单状态
        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
        request.setOrderId(orderTaxi.getTravelId());
        request.setStatus(orderTaxi.getState());
        request.setDriverId(driver.getEmpId().toString());
        if(2 == orderTaxi.getPromotion()){
            Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
            request.setPromoterId(driver1.getEmpId().toString());
        if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
            Company company = companyService.selectById(driver.getCompanyId());
            //中台修改订单状态
            ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
            request.setOrderId(orderTaxi.getTravelId());
            request.setStatus(orderTaxi.getState());
            request.setDriverId(driver.getEmpId().toString());
            if(2 == orderTaxi.getPromotion()){
                Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
                request.setPromoterId(driver1.getEmpId().toString());
            }
            request.setSupplierShopId(company.getEnterCode());
            OrderUtil.modifyTravelItinerary(request);
        }
        request.setSupplierShopId(company.getEnterCode());
        OrderUtil.modifyTravelItinerary(request);
        //回滚司机状态为空闲
        driver.setState(2);
@@ -642,18 +652,20 @@
        this.updateById(orderTaxi);
    
        Driver driver = driverService.selectById(orderTaxi.getDriverId());
        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());
        if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
            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);
        }
        request1.setSupplierShopId(company1.getEnterCode());
        OrderUtil.modifyTravelItinerary(request1);
        //回滚司机状态为空闲
        driver.setState(2);