Pu Zhibing
2025-02-14 e65de407a268803150a2ab118b7076da3389ffee
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.*;
@@ -39,6 +38,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -125,6 +125,9 @@
    
    @Resource
    private CarModelMapper carModelMapper;
    @Resource
    private QuartzUtil quartzUtil;
@@ -139,9 +142,20 @@
        String content = reassign.getRemark();
        if(ToolUtil.isNotEmpty(content)){
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            List<String> list = Arrays.asList(content.split(" "));
            for(SensitiveWords s : sensitiveWords){
                content = content.replaceAll(s.getContent(), "***");
                List<String> str = new ArrayList<>();
                String lowerCase = s.getContent().toLowerCase();
                for (String s1 : list) {
                    if(lowerCase.equals(s1.toLowerCase())){
                        str.add("***");
                    }else{
                        str.add(s1);
                    }
                }
                list = str;
            }
            content = list.stream().collect(Collectors.joining(" "));
        }
        reassign.setRemark(content);
        ResultUtil resultUtil = ResultUtil.success();
@@ -292,12 +306,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");
        
                    /**
                     * 超时用户取消不收费的提醒
@@ -332,8 +413,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);
                
                            //超时循环提醒
@@ -346,8 +426,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{
                            //超时时间
@@ -362,8 +441,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);
                
                
@@ -383,8 +461,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);
                
                            //预约单出发循环提醒
@@ -399,8 +476,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);
                
                            //超时循环提醒
@@ -413,75 +489,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());
                                    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(5000L);
                                            } catch (InterruptedException e) {
                                                throw new RuntimeException(e);
                                            }
                                        }
                                    }
                                }
                                boolean createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
                                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
                                if(!createTrip){
                                    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());
                                        if(createTrip){
                                            break;
                                        }
                                        try {
                                            Thread.sleep(5000L);
                                        } catch (InterruptedException e) {
                                            throw new RuntimeException(e);
                                        }
                                    }
                                }
                            }
                            //开始修改行程数据
                            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(5000L);
                                    } catch (InterruptedException e) {
                                        throw new RuntimeException(e);
                                    }
                                }
                            }
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }).start();
        
                    //推送相关代码------------------start----------------
                    String finalAudioUrl = audioUrl;
@@ -589,12 +600,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");
        
                    /**
                     * 超时用户取消不收费的提醒
@@ -623,8 +700,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);
            
                        //超时循环提醒
@@ -637,75 +713,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());
                                    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(5000L);
                                            } catch (InterruptedException e) {
                                                throw new RuntimeException(e);
                                            }
                                        }
                                    }
                                }
                                boolean createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
                                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(),  orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
                                if(!createTrip){
                                    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());
                                        if(createTrip){
                                            break;
                                        }
                                        try {
                                            Thread.sleep(5000L);
                                        } 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(5000L);
                                        } catch (InterruptedException e) {
                                            throw new RuntimeException(e);
                                        }
                                    }
                                }
                            }
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }).start();
        
                    //推送相关代码------------------start----------------
                    String finalAudioUrl = audioUrl;
@@ -745,9 +756,20 @@
        String content = reassign.getRemark();
        if(ToolUtil.isNotEmpty(content)){
            List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
            List<String> list = Arrays.asList(content.split(" "));
            for(SensitiveWords s : sensitiveWords){
                content = content.replaceAll(s.getContent(), "***");
                List<String> str = new ArrayList<>();
                String lowerCase = s.getContent().toLowerCase();
                for (String s1 : list) {
                    if(lowerCase.equals(s1.toLowerCase())){
                        str.add("***");
                    }else{
                        str.add(s1);
                    }
                }
                list = str;
            }
            content = list.stream().collect(Collectors.joining(" "));
        }
        reassign.setRemark(content);
        ResultUtil resultUtil = ResultUtil.success();