puzhibing
2026-03-12 2b73d5cfaa57aee00ff41c37a136c764f5c8194b
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpCruiseOrderServiceImpl.java
@@ -52,29 +52,33 @@
     * @param vin
     */
    @Override
    public Long updateCruiseOrder(String vin) {
    public Long cancelCruiseOrderByVin(String vin) {
        LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
        XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
        if (xpCruiseOrder != null) {
            xpCruiseOrder.setStatus(2);
            this.update(xpCruiseOrder, wrapper);
            PushOrderDto pushOrderDto = new PushOrderDto();
            pushOrderDto.setVin(vin);
            pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
            pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
            R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
            if(booleanR==null || !booleanR.getData()){
                log.info("XPU取消巡游订单失败");
                return null;
        List<XpCruiseOrder> xpCruiseOrder = this.list(wrapper.orderByDesc(XpCruiseOrder::getCreateTime));
        if (xpCruiseOrder != null && !xpCruiseOrder.isEmpty()) {
            xpCruiseOrder.forEach(s->{
                s.setStatus(2);
                s.setVehicleId(null);
            });
            this.updateBatchById(xpCruiseOrder);
            for (XpCruiseOrder cruiseOrder : xpCruiseOrder) {
                PushOrderDto pushOrderDto = new PushOrderDto();
                pushOrderDto.setVin(vin);
                pushOrderDto.setOrderId("XU" + cruiseOrder.getId());
                pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
                R<Boolean> booleanR = orderMissionClient.cancelOrder(pushOrderDto);
                if(booleanR==null || !booleanR.getData()){
                    log.info("XPU取消巡游订单失败");
                }
            }
            return xpCruiseOrder.getId();
            return xpCruiseOrder.get(0).getId();
        }
        return null;
    }
    @Override
    public R updateCruiseOrderId(Long orderId) {
    public R cancelCruiseOrderById(Long orderId) {
        XpCruiseOrder xpCruiseOrder = this.getById(orderId);
        if (xpCruiseOrder != null) {
            xpCruiseOrder.setStatus(2);
@@ -95,15 +99,13 @@
    }
    @Override
    public Long closeCruiseOrder(String vin) {
        LambdaQueryWrapper<XpCruiseOrder> wrapper = new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleVin, vin).eq(XpCruiseOrder::getStatus, 1);
        XpCruiseOrder xpCruiseOrder = this.getOne(wrapper);
    public void completeCruiseOrder(Long id) {
        XpCruiseOrder xpCruiseOrder = this.getById(id);
        if (xpCruiseOrder != null) {
            xpCruiseOrder.setStatus(3);
            this.update(xpCruiseOrder, wrapper);
            return xpCruiseOrder.getId();
            xpCruiseOrder.setVehicleId(null);
            this.updateById(xpCruiseOrder);
        }
        return null;
    }