From 869f2668d5bf4fccba5ab7b3896e5ee9a153a2b1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 11 二月 2025 16:26:20 +0800
Subject: [PATCH] 修改订单问题和定时任务bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java |  277 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 186 insertions(+), 91 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index feb3c96..c9ccbc5 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -8,10 +9,8 @@
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
-import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsSpreadService;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
-import com.stylefeng.guns.modular.specialTrain.server.impl.OrderPrivateCarServiceImpl;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
@@ -33,7 +32,9 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -123,6 +124,9 @@
     
     @Resource
     private CarModelMapper carModelMapper;
+    
+    @Resource
+    private QuartzUtil quartzUtil;
 
 
 
@@ -228,7 +232,7 @@
                             text = "Received a new ride order, starting from " + orderPrivateCar.getStartAddress() + ", the whole journey is about " + orderPrivateCar.getEstimatedMileage() + "kilometre";
                             break;
                         case 3:
-                            text = "J'ai reçu une nouvelle commande de course, à partir de " + orderPrivateCar.getStartAddress() + ", le trajet complet est d’environ " + orderPrivateCar.getEstimatedMileage() + "kilométrage";
+                            text = "Reçu une nouvelle commande de course, à partir de " + orderPrivateCar.getStartAddress() + ", le trajet complet est d’environ " + orderPrivateCar.getEstimatedMileage();
                             break;
             
                     }
@@ -243,14 +247,21 @@
                     new Timer().schedule(new TimerTask() {
                         @Override
                         public void run() {
-                            Process process = null;
                             try {
-                                process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName);
-                            } catch (IOException e) {
-                                throw new RuntimeException(e);
-                            }
-                            if (process != null) {
-                                process.destroy();
+                                // 使用Runtime执行命令
+                                Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName);
+                                // 读取命令的输出
+                                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+                                String line;
+                                while ((line = reader.readLine()) != null) {
+                                    System.out.println(line);
+                                }
+                                // 等待命令执行完成
+                                process.waitFor();
+                                // 关闭流
+                                reader.close();
+                            } catch (IOException | InterruptedException e) {
+                                e.printStackTrace();
                             }
                         }
                     }, 30000);
@@ -283,12 +294,79 @@
     
                     driver.setState(2);
                     driverService.updateById(driver);
+    
+                    //检查google车辆信息或者添加新的车辆信息
+                    Car car = carService.selectById(orderPrivateCar.getCarId());
+                    if(ToolUtil.isEmpty(car.getVehicleId())){
+                        car.setVehicleId(UUIDUtil.getRandomCode());
+                        carService.updateById(car);
+                    }
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)){
+                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        if(!createVehicles){
+                            for (int i = 0; i < 5; i++) {
+                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                                if(createVehicles){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }
+    
+                    //修改google订单信息或者创建新的行程
+                    String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
+                    if(ToolUtil.isEmpty(trip)){
+                        JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+                                orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+                        JSONObject error = createTrip.getJSONObject("error");
+                        if(null != error){
+                            for (int i = 0; i < 5; i++) {
+                                createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+                                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+                                error = createTrip.getJSONObject("error");
+                                String tripStatus = createTrip.getString("tripStatus");
+                                if(null == error && "NEW".equals(tripStatus)){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }else{
+                        //开始修改行程数据
+                        boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null);
+                        if(!updateTrip){
+                            for (int i = 0; i < 5; i++) {
+                                updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null);
+                                if(updateTrip){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }
+                    
+                    
                     
                     //删除定时任务
-                    QuartzUtil.deleteQuartzTask("1_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("2_1_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("2_2_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("3_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("1_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("2_1_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("2_2_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("3_" + orderPrivateCar.getId() + "_1","ORDER_TIME_OUT");
         
                     /**
                      * 超时用户取消不收费的提醒
@@ -323,8 +401,7 @@
                             jobDataMap.put("timeOut", timeOut);
                             jobDataMap.put("driverTimeout", driverTimeout);
                             jobDataMap.put("describe", language1 == 1 ? "您已超时" + driverTimeout + "分钟,用户可免费取消订单" : language1 == 2 ? "Reminder You are overdue for " + driverTimeout + " minutes The subscriber could cancel the order for free Confirm" : "Rappel Vous êtes en retard de " + driverTimeout + " minutes L’abonné peut annuler la commande gratuitement Confirmer");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , new Date(timeOut), timeOut, 0);
                 
                             //超时循环提醒
@@ -337,8 +414,7 @@
                             jobDataMap.put("timeOut", orderPrivateCar.getEstimateArriveTime().getTime());
                             jobDataMap.put("driverTimeout", 0);
                             jobDataMap.put("describe", "");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("3_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "3_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , orderPrivateCar.getEstimateArriveTime(), reminderRules.getCar() * 60000, -1);
                         }else{
                             //超时时间
@@ -353,8 +429,7 @@
                             jobDataMap.put("timeOut", timeOut);
                             jobDataMap.put("driverTimeout", driverTimeout);
                             jobDataMap.put("describe", language1 == 1 ? "您已超时" + driverTimeout + "分钟,用户可免费取消订单" : language1 == 2 ? "Reminder You are overdue for " + driverTimeout + " minutes The subscriber could cancel the order for free Confirm" : "Rappel Vous êtes en retard de " + driverTimeout + " minutes L’abonné peut annuler la commande gratuitement Confirmer");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , new Date(timeOut), timeOut, 0);
                 
                 
@@ -374,8 +449,7 @@
                             jobDataMap.put("describe", language1 == 1 ? "您将于" + sdf.format(orderPrivateCar.getTravelTime()) + "去接" + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName())  + ",请准时!" :
                                     language1 == 2 ? "You are going to pick up " + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName()) + " at " + sdf.format(orderPrivateCar.getTravelTime()) + ", please be on time. " :
                                             "Vous allez chercher " + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName()) + " à " + sdf.format(orderPrivateCar.getTravelTime()) + ", s’il vous plaît soyez à l’heure.");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("2_1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "2_1_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , new Date(travelTime), travelTime, 0);
                 
                             //预约单出发循环提醒
@@ -390,8 +464,7 @@
                             jobDataMap.put("describe", language1 == 1 ? "您将于" + sdf.format(orderPrivateCar.getTravelTime()) + "去接" + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName())  + ",请准时!" :
                                     language1 == 2 ? "You are going to pick up " + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName()) + " at " + sdf.format(orderPrivateCar.getTravelTime()) + ", please be on time. " :
                                             "Vous allez chercher " + (ToolUtil.isEmpty(userInfo.getFirstName()) ? userInfo.getNickName() : userInfo.getFirstName() + " " + userInfo.getLastName()) + " à " + sdf.format(orderPrivateCar.getTravelTime()) + ", s’il vous plaît soyez à l’heure.");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("2_2_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "2_2_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , new Date(travelTime + reminderRules.getReserveNext() * 60000), reminderRules.getReserveNext() * 60000, -1);
                 
                             //超时循环提醒
@@ -404,35 +477,10 @@
                             jobDataMap.put("timeOut", orderPrivateCar.getTravelTime().getTime());
                             jobDataMap.put("driverTimeout", 0);
                             jobDataMap.put("describe", "");
-                            QuartzUtil.addSimpleQuartzTask(
-                                    new OrderTimeOutJob().buildQuartzJob("3_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap)
+                            quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "3_" + orderPrivateCar.getId() + "_1", "ORDER_TIME_OUT", jobDataMap
                                     , orderPrivateCar.getTravelTime(), reminderRules.getCar() * 60000, -1);
                         }
                     }
-        
-                    new Thread(()->{
-                        try {
-                            Car car = carService.selectById(orderPrivateCar.getCarId());
-                            if(!StringUtils.hasLength(car.getVehicleId())){
-                                car.setVehicleId(UUIDUtil.getRandomCode());
-                                carService.updateById(car);
-                            }
-                            String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
-                            if(ToolUtil.isEmpty(trip)){
-                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                if(ToolUtil.isEmpty(vehicles)){
-                                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                    fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                }
-                                fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                            }
-                            //开始修改行程数据
-                            fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null);
-                        }catch (Exception e){
-                            e.printStackTrace();
-                        }
-                    }).start();
         
                     //推送相关代码------------------start----------------
                     String finalAudioUrl = audioUrl;
@@ -479,7 +527,7 @@
                             text = "Received a new delivery order, starting from " + orderLogistics.getStartAddress() + ", the whole journey is about " + orderLogistics.getEstimatedMileage() + "kilometre";
                             break;
                         case 3:
-                            text = "J'ai reçu une nouvelle commande de livraison, à partir de " + orderLogistics.getStartAddress() + ", le trajet complet est d’environ " + orderLogistics.getEstimatedMileage() + "kilométrage";
+                            text = "Reçu une nouvelle commande de livraison, à partir de " + orderLogistics.getStartAddress() + ", le trajet complet est d’environ " + orderLogistics.getEstimatedMileage();
                             break;
             
                     }
@@ -494,14 +542,21 @@
                     new Timer().schedule(new TimerTask() {
                         @Override
                         public void run() {
-                            Process process = null;
                             try {
-                                process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName);
-                            } catch (IOException e) {
-                                throw new RuntimeException(e);
-                            }
-                            if (process != null) {
-                                process.destroy();
+                                // 使用Runtime执行命令
+                                Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName);
+                                // 读取命令的输出
+                                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+                                String line;
+                                while ((line = reader.readLine()) != null) {
+                                    System.out.println(line);
+                                }
+                                // 等待命令执行完成
+                                process.waitFor();
+                                // 关闭流
+                                reader.close();
+                            } catch (IOException | InterruptedException e) {
+                                e.printStackTrace();
                             }
                         }
                     }, 30000);
@@ -533,12 +588,78 @@
     
                     driver.setState(2);
                     driverService.updateById(driver);
+    
+                    //检查google车辆信息或者添加新的车辆信息
+                    Car car = carService.selectById(orderLogistics.getCarId());
+                    if(ToolUtil.isEmpty(car.getVehicleId())){
+                        car.setVehicleId(UUIDUtil.getRandomCode());
+                        carService.updateById(car);
+                    }
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)){
+                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        if(!createVehicles){
+                            for (int i = 0; i < 5; i++) {
+                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                                if(createVehicles){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }
+    
+                    //修改google订单信息或者创建新的行程
+                    String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
+                    if(ToolUtil.isEmpty(trip)){
+                        JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+                                orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+                        JSONObject error = createTrip.getJSONObject("error");
+                        if(null != error){
+                            for (int i = 0; i < 5; i++) {
+                                createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+                                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+                                error = createTrip.getJSONObject("error");
+                                String tripStatus = createTrip.getString("tripStatus");
+                                if(null == error && "NEW".equals(tripStatus)){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }else{
+                        //开始修改行程数据
+                        boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null);
+                        if(!updateTrip){
+                            for (int i = 0; i < 5; i++) {
+                                updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null);
+                                if(updateTrip){
+                                    break;
+                                }
+                                try {
+                                    Thread.sleep(3000L);
+                                } catch (InterruptedException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    }
+                    
         
                     //删除定时任务
-                    QuartzUtil.deleteQuartzTask("1_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("2_1_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("2_2_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
-                    QuartzUtil.deleteQuartzTask("3_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("1_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("2_1_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("2_2_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
+                    quartzUtil.deleteQuartzTask("3_" + orderLogistics.getId() + "_4","ORDER_TIME_OUT");
         
                     /**
                      * 超时用户取消不收费的提醒
@@ -567,8 +688,7 @@
                         jobDataMap.put("timeOut", timeOut);
                         jobDataMap.put("driverTimeout", driverTimeout);
                         jobDataMap.put("describe", language1 == 1 ? "您已超时" + driverTimeout + "分钟,用户可免费取消订单" : language1 == 2 ? "Reminder You are overdue for " + driverTimeout + " minutes The subscriber could cancel the order for free Confirm" : "Rappel Vous êtes en retard de " + driverTimeout + " minutes L’abonné peut annuler la commande gratuitement Confirmer");
-                        QuartzUtil.addSimpleQuartzTask(
-                                new OrderTimeOutJob().buildQuartzJob("1_" + orderLogistics.getId() + "_4", "ORDER_TIME_OUT", jobDataMap)
+                        quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "1_" + orderLogistics.getId() + "_4", "ORDER_TIME_OUT", jobDataMap
                                 , new Date(timeOut), timeOut, 0);
             
                         //超时循环提醒
@@ -581,35 +701,10 @@
                         jobDataMap.put("timeOut", orderLogistics.getEstimateArriveTime().getTime());
                         jobDataMap.put("driverTimeout", driverTimeout);
                         jobDataMap.put("describe", "");
-                        QuartzUtil.addSimpleQuartzTask(
-                                new OrderTimeOutJob().buildQuartzJob("3_" + orderLogistics.getId() + "_4", "ORDER_TIME_OUT", jobDataMap)
+                        quartzUtil.addSimpleQuartzTask(OrderTimeOutJob.class, "3_" + orderLogistics.getId() + "_4", "ORDER_TIME_OUT", jobDataMap
                                 , orderLogistics.getEstimateArriveTime(), reminderRules.getCar() * 60000, -1);
                     }
-        
-                    new Thread(()->{
-                        try {
-                            Car car = carService.selectById(orderLogistics.getCarId());
-                            if(!StringUtils.hasLength(car.getVehicleId())){
-                                car.setVehicleId(UUIDUtil.getRandomCode());
-                                carService.updateById(car);
-                            }
-                            String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
-                            if(ToolUtil.isEmpty(trip)){
-                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                if(ToolUtil.isEmpty(vehicles)){
-                                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                    fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                }
-                                fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(),  orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                            }else{
-                                //开始修改行程数据
-                                fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null);
-                            }
-                        }catch (Exception e){
-                            e.printStackTrace();
-                        }
-                    }).start();
+                    
         
                     //推送相关代码------------------start----------------
                     String finalAudioUrl = audioUrl;

--
Gitblit v1.7.1