Pu Zhibing
2025-04-02 af335bf1ef9104dc62c721e142eca790356d18b6
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -77,6 +77,9 @@
    
    @Resource
    private ITUserService userService;
    @Resource
    private ITCarService carService;
@@ -277,6 +280,43 @@
            
            tOrderPrivateCarService.updateById(orderPrivateCar);
    
            //修改行程数据
            boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null);
            if(!updateTrip){
                for (int i = 0; i < 5; i++) {
                    updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null);
                    if(updateTrip){
                        orderPrivateCar.setIsover(1);
                        tOrderPrivateCarService.updateById(orderPrivateCar);
                        break;
                    }
                    try {
                        Thread.sleep(3000L);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }else{
                orderPrivateCar.setIsover(1);
                tOrderPrivateCarService.updateById(orderPrivateCar);
            }
            //上报行程
            boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
            if(!reportBillableEvent){
                for (int i = 0; i < 5; i++) {
                    reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
                    if(reportBillableEvent){
                        break;
                    }
                    try {
                        Thread.sleep(3000L);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
    
            TUser userInfo = userService.selectById(orderPrivateCar.getUserId());
            Integer language1 = userInfo.getLanguage();
@@ -294,18 +334,6 @@
                public void run() {
                    pushUtil.pushOrderState(1, finalOrderTaxi.getUserId(), finalOrderTaxi.getId(), 1, finalOrderTaxi.getState(), 0, "");
                    pushUtil.pushOrderState(2, finalOrderTaxi.getDriverId(), finalOrderTaxi.getId(), 1, finalOrderTaxi.getState(), 0, "");
                }
            }).start();
            TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar;
            new Thread(()->{
                try {
                    //上报google
                    fleetEngineUtil.reportBillableEvent(finalOrderPrivateCar.getTripId());
                    log.warn("上报时间:{},tripid:{},created_at:{},completed_at:{}", System.currentTimeMillis(), finalOrderPrivateCar.getTripId(),
                            finalOrderPrivateCar.getInsertTime().getTime(), finalOrderPrivateCar.getEndServiceTime().getTime());
                }catch (Exception e){
                    e.printStackTrace();
                }
            }).start();
    
@@ -587,7 +615,9 @@
    @ResponseBody
    public Object cancel(@RequestParam Integer tOrderPrivateCarId) {
        TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId);
        if(Arrays.asList(6, 7, 8, 9, 10).contains(tOrderPrivateCar.getState())){
            return ERROR;
        }
        //修改之前司机状态 -- 空闲
        if(null != tOrderPrivateCar.getDriverId()){
            TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId());
@@ -611,10 +641,26 @@
        orderCancelMapper.insert(orderCancel);
    
        //修改行程信息
        try {
            fleetEngineUtil.updateTrip("CANCELED", null, null, tOrderPrivateCar.getTripId(), null, null, null, null);
        } catch (Exception e) {
            throw new RuntimeException(e);
        TCar car = carService.selectById(tOrderPrivateCar.getCarId());
        //修改行程信息
        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null);
        if(!updateTrip){
            for (int i = 0; i < 5; i++) {
                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null);
                if(updateTrip){
                    tOrderPrivateCar.setIsover(1);
                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
                    break;
                }
                try {
                    Thread.sleep(3000L);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
        }else{
            tOrderPrivateCar.setIsover(1);
            tOrderPrivateCarService.updateById(tOrderPrivateCar);
        }