Pu Zhibing
2025-08-01 67e37149354a618af26545de5fe26138e57c1c35
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -12,6 +12,9 @@
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateTravelItineraryRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
@@ -212,8 +215,7 @@
//        }
        // 是否推广订单
        // 是否推广订单
        Integer promotion = isPromotion(uid);
        Integer promotion = isPromotion(orderTaxi.getUserId());
        if(promotion!=null){
            orderTaxi.setPromotion(2);
            Driver driver1 = driverService.selectById(promotion);
@@ -221,7 +223,38 @@
            orderTaxi.setPromotionPhone(driver1.getPhone());
            orderTaxi.setPromotionDriverId(promotion);
        }
        if(null == oldDriverId){
            UserInfo userInfo = userInfoMapper.selectById(orderTaxi.getUserId());
            Company company = companyService.selectById(driver.getCompanyId());
            //调三方订单中心创建行程单
            CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
            request.setOrderNo("TA" + orderTaxi.getId());
            request.setCustomerId(userInfo.getOnconUUID());
            request.setDriverId(driver.getEmpId().toString());
            request.setSupplierShopId(company.getEnterCode());
            if(2 == orderTaxi.getPromotion()){
                Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
                request.setPromoterId(driver1.getEmpId().toString());
            }
            request.setServiceType(1);
            String travelItinerary = OrderUtil.createTravelItinerary(request);
            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());
            }
            request1.setSupplierShopId(company1.getEnterCode());
            OrderUtil.modifyTravelItinerary(request1);
        }
        this.updateById(orderTaxi);
        if(orderTaxi.getType() == 2){
@@ -486,6 +519,20 @@
                break;
        }
        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());
        }
        request.setSupplierShopId(company.getEnterCode());
        OrderUtil.modifyTravelItinerary(request);
        // TODO: 2020/6/5 推送状态
        new Thread(new Runnable() {
@@ -529,9 +576,22 @@
            orderTaxi.setState(7);
        }
        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());
        }
        request.setSupplierShopId(company.getEnterCode());
        OrderUtil.modifyTravelItinerary(request);
        //回滚司机状态为空闲
        Driver driver = driverService.selectById(orderTaxi.getDriverId());
        driver.setState(2);
        driverService.updateById(driver);
@@ -569,9 +629,22 @@
            orderTaxi.setState(7);
        }
        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());
        }
        request1.setSupplierShopId(company1.getEnterCode());
        OrderUtil.modifyTravelItinerary(request1);
        //回滚司机状态为空闲
        Driver driver = driverService.selectById(orderTaxi.getDriverId());
        driver.setState(2);
        driverService.updateById(driver);