puzhibing
2026-04-28 c8bd790078b64343fc9dce0e36b5cc8c03e50e80
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -261,6 +261,13 @@
        }
        wrapper.eq(Objects.nonNull(query.getUid()), XpOrder::getAppUserId, query.getUid());
        wrapper.orderByDesc(XpOrder::getCreateTime);
        if(null != query.getActivityId()){
            wrapper.eq(XpOrder::getActivityId, query.getActivityId());
        }
        List<XpOrder> list = this.list(wrapper);
        BigDecimal orderMoney = list.stream().map(XpOrder::getOrderMoney).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
        BigDecimal couponMoney = list.stream().map(XpOrder::getCouponMoney).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
        // 2. 分页查询
        Page<XpOrder> page = new Page<>(query.getPageNum(), query.getPageSize());
@@ -293,7 +300,7 @@
        // 5. 组装 VO
        List<XpOrderPageVO> voList = pageResult.getRecords().stream()
                .map(order -> convertToPageVO(order, userInfoMap, vehicleMap, fleetMap))
                .map(order -> convertToPageVO(order, userInfoMap, vehicleMap, fleetMap, orderMoney, couponMoney))
                .collect(Collectors.toList());
        // 6. 返回分页结果
@@ -612,7 +619,9 @@
    private XpOrderPageVO convertToPageVO(XpOrder order,
                                          Map<String, UcUserInfo> userInfoMap,
                                          Map<Long, XpVehicle> vehicleMap,
                                          Map<Long, XpFleet> fleetMap) {
                                          Map<Long, XpFleet> fleetMap,
                                          BigDecimal orderMoney,
                                          BigDecimal couponMoney) {
        XpOrderPageVO vo = new XpOrderPageVO();
        vo.setId(order.getId());
        vo.setOrderNumber(order.getOrderNumber());
@@ -625,6 +634,8 @@
        vo.setStatus(order.getStatus());
        vo.setStartPointName(order.getStartPointName());
        vo.setEndPointName(order.getEndPointName());
        vo.setOrderTotalAmount(orderMoney);
        vo.setDiscountTotalAmount(couponMoney);
        // 用户信息
        if (Objects.nonNull(order.getAppUserId()) && userInfoMap != null && userInfoMap.containsKey(order.getAppUserId().toString())) {