liujie
2026-03-09 65cc684c4c1f4a2d028d4ed5b92994f17492401e
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -79,6 +79,7 @@
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
import com.xiaopeng.order.model.dto.XpOrderPayDto;
import com.xiaopeng.order.model.query.XpHistoryOrderListQuery;
import com.xiaopeng.order.model.query.XpOrderExcelQuery;
import com.xiaopeng.order.model.query.XpOrderPageQuery;
import com.xiaopeng.order.model.vo.*;
import com.xiaopeng.order.service.IXpOrderCancelService;
@@ -298,9 +299,9 @@
    }
    @Override
    public List<XpOrderPageVO> exportList(XpOrderPageQuery query) {
    public List<XpOrderPageVO> exportList(XpOrderExcelQuery query) {
        // 1. 构建查询条件
        LambdaQueryWrapper<XpOrder> wrapper = buildQueryWrapper(query);
        LambdaQueryWrapper<XpOrder> wrapper = buildExcelQueryWrapper(query);
        // 2. 查询订单列表
        List<XpOrder> orderList = this.list(wrapper);
@@ -357,7 +358,27 @@
        wrapper.orderByDesc(XpOrder::getCreateTime);
        return wrapper;
    }
    private LambdaQueryWrapper<XpOrder> buildExcelQueryWrapper(XpOrderExcelQuery query) {
        LambdaQueryWrapper<XpOrder> wrapper = new LambdaQueryWrapper<>();
        wrapper.like(StringUtils.isNotBlank(query.getOrderNumber()), XpOrder::getOrderNumber, query.getOrderNumber())
                .eq(Objects.nonNull(query.getFleetId()), XpOrder::getFleetId, query.getFleetId())
                .eq(Objects.nonNull(query.getOrderSource()), XpOrder::getOrderSource, query.getOrderSource())
                .like(StringUtils.isNotBlank(query.getCityCode()), XpOrder::getCityCode, query.getCityCode())
                .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus());
        if (Objects.nonNull(query.getStartTime())) {
            wrapper.ge(XpOrder::getCreateTime, LocalDateTime.of(query.getStartTime(), LocalTime.MIN));
        }
        if (Objects.nonNull(query.getEndTime())) {
            wrapper.le(XpOrder::getCreateTime, LocalDateTime.of(query.getEndTime(), LocalTime.MAX));
        }
        if (CollUtil.isNotEmpty(query.getIds())) {
            wrapper.in(XpOrder::getId, query.getIds());
        }
        wrapper.orderByDesc(XpOrder::getCreateTime);
        return wrapper;
    }
    /**
     * 批量获取用户信息
     */
@@ -1016,7 +1037,17 @@
        xpOrderCancel.setCancelSource(1);
        xpOrderCancel.setCancelReason("用户取消订单");
        xpOrderCancelService.save(xpOrderCancel);
        //判断还原车辆状态
        Object cacheObject1 = redisService.getCacheObject("CREATE_ORDER:" + order.getId().toString());
        if(null != cacheObject1){
            com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSON.parseObject(cacheObject1.toString());
            String vin = jsonObject.getString("vin");
            XpVehicle vehicle = xpVehicleClient.findByVehicleVin(vin).getData();
            if(null != vehicle && 0 != vehicle.getState()){
                vehicle.setState(0);
                xpVehicleClient.updateVehicleById(vehicle);
            }
        }
        // 设置当天的取消次数缓存
        Object cacheObject = redisService.getCacheObject("CANCEL_ORDER_" + uid);