From c8bd790078b64343fc9dce0e36b5cc8c03e50e80 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 28 四月 2026 14:51:45 +0800
Subject: [PATCH] 新增加活动接口

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 57fda05..f8eadc4 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/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())) {

--
Gitblit v1.7.1