From 5367f2172a955113068d6c97cde0b78c6c85fdf8 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 05 八月 2025 14:00:02 +0800
Subject: [PATCH] 改派

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java |   94 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 88 insertions(+), 6 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index aa50484..d1075d1 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/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;
@@ -213,8 +216,47 @@
 
         // 是否推广订单
         Integer promotion = isPromotion(orderTaxi.getUserId());
-        orderTaxi.setPromotion(promotion);
-
+        if(promotion!=null){
+            orderTaxi.setPromotion(2);
+            Driver driver1 = driverService.selectById(promotion);
+            orderTaxi.setPromotionUser(driver1.getName());
+            orderTaxi.setPromotionPhone(driver1.getPhone());
+            orderTaxi.setPromotionDriverId(promotion);
+        }else{
+            orderTaxi.setPromotion(1);
+        }
+        
+        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){
@@ -291,9 +333,9 @@
         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("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("state",1).eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
             if(tDriverPromotionActivity!=null){
-                return 2;
+                return userInfo.getBindDriverId();
             }
         }
         return null;
@@ -479,6 +521,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() {
@@ -522,9 +578,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);
 
@@ -562,9 +631,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);
 

--
Gitblit v1.7.1