xuhy
2026-04-15 c735c3e829039fe8207c865933d9b4f7c9d797b5
[feat]事故任务分派逻辑完善、转派工单
2个文件已修改
27 ■■■■■ 已修改文件
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
@@ -2,10 +2,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xiaopeng.api.dto.map.RouteAndFareDto;
import com.xiaopeng.api.dto.map.RoutePreferenceSaveDto;
import com.xiaopeng.api.dto.map.RouteStaleCheckDto;
import com.xiaopeng.api.dto.map.SelectNavigationRouteDto;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
import com.xiaopeng.api.vo.operation.RoutePreferenceItemVo;
import com.xiaopeng.api.vo.operation.RouteStaleCheckVo;
@@ -210,4 +212,28 @@
        String uid = request.getHeader("XP-Uid");
        return R.ok(xpPricingService.getQueueStatus(orderId, uid));
    }
    /**
     * 当前行程可否修改
     *
     * @param
     * @return 订单数量
     */
    @GetMapping("/api/v1/mini-program/order/queryOrderTrajectory")
    public R<Integer> allowedModify(@RequestParam Long orderId){
//        1. 小于10分钟路程(后台配置)【取消行程】按钮应置灰;【取消行程】按钮应置灰;登录后获取系统和个人配置;
//        2. 当前剩余里程 < 800米 (后台配置)或 剩余时间 < 5分钟(后台配置)(以先到者为准),禁止修改,按钮置灰。
//        3. 单次行程最多允许修改 2次 (后台配置)目的地,防恶意高频调用
//
//                数据字典设置
//        取消行程 时间阈值 10 分钟
//        修改行程 时间阈值 5 分钟
//        修改行程 路程阈值 800 米
//        解除限制 时间阈值 3 分钟
//
//        若系统检测到车辆在当前坐标时速 < 3km/h 且持续时间 > 3分钟(后台配置)(判定为极度拥堵或异常停滞),此时解除限制
//        通过 redis 轨迹得到路程 < 3s/60s * 3000m,则为堵车
        return R.ok();
    }
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -1076,6 +1076,7 @@
                    }
                }
            }
        }
        return false;