From ba78f764042ca15bf3f3be62e7a3fc699df56d67 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 20:59:53 +0800
Subject: [PATCH] 提交管理后台新接口,修改XPU报文相关功能,增加测试小程序状态流转接口

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 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 60adbbf..9dcd7f9 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
@@ -702,11 +702,13 @@
         xpOrderHistoryVO.setTotal((int) page.getTotal());
 
         // 根据time分组
-        Map<LocalDateTime, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getTime));
+        Map<String, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getOrderTime));
         List<XpOrderHistoryDateVO> dateVOS = map.entrySet().stream().map(entry -> {
             XpOrderHistoryDateVO xpOrderHistoryDateVO = new XpOrderHistoryDateVO();
-            xpOrderHistoryDateVO.setDateLabel(entry.getKey().toString());
-            xpOrderHistoryDateVO.setOrders(entry.getValue());
+            xpOrderHistoryDateVO.setDateLabel(entry.getKey());
+            List<XpOrderHistoryListVO> value = entry.getValue();
+            value = value.stream().sorted(Comparator.comparing(XpOrderHistoryListVO::getTime).reversed()).collect(Collectors.toList());
+            xpOrderHistoryDateVO.setOrders(value);
             return xpOrderHistoryDateVO;
         }).collect(Collectors.toList());
         xpOrderHistoryVO.setList(dateVOS);
@@ -852,6 +854,7 @@
         if (xpOrder.getStatus() != 9) {
             throw new ServiceException("订单状态错误",I18nKeyConstant.ORDER_STATUS_ERROR);
         }
+        xpOrder.setAppUserId(null);
         xpOrder.setStatus(10);
         baseMapper.updateById(xpOrder);
 
@@ -866,7 +869,6 @@
         evaluate.setFeedbackTypeId(dto.getFeedbackTypeId());
         evaluate.setCreateTime(LocalDateTime.now());
         xpOrderEvaluateService.save(evaluate);
-
     }
 
     @Override
@@ -948,16 +950,7 @@
             throw new RuntimeException("订单状态错误");
         }
         order.setStatus(8);
-        // 计算完价格后 挑选优惠券
-        GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
-        getUserCouponDto.setUserId(Long.valueOf(uid));
-        getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
-        R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
-        UserCouponVo userCouponVo = userCouponVoR.getData();
-        if (userCouponVo != null) {
-            order.setCouponId(userCouponVo.getId());
-            order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
-        }
+        order.setAppUserId(null);
         order.setTripEnd(LocalDateTime.now());
         baseMapper.updateById(order);
         // 解绑用户与车辆关系
@@ -1199,6 +1192,7 @@
                 .add(order.getLongDistancemoney() != null ? order.getLongDistancemoney() : BigDecimal.ZERO)
                 .add(order.getWaitMoney()!=null?order.getWaitMoney():BigDecimal.ZERO);
         order.setOrderMoney(orderMoney);
+        order.setAppUserId(null);
         baseMapper.updateById(order);
         if (order.getCouponId() != null) {
             UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
@@ -1209,15 +1203,25 @@
             useUserCouponDto.setUserCouponId(order.getCouponId());
             xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
         }
-
-
-
-
+// 计算完价格后 挑选优惠券
+        GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
+        getUserCouponDto.setUserId(Long.valueOf(uid));
+        getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
+        R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
+        UserCouponVo userCouponVo = userCouponVoR.getData();
+        if (userCouponVo != null) {
+            order.setCouponId(userCouponVo.getId());
+            order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
+        }
+        order.setAppUserId(null);
+        baseMapper.updateById(order);
         // 结束后的车辆操作
         if(vehicle!=null){
             // 生成新的巡游单子 回到最新巡游的初始起点位置
-            XpCruiseOrder xpCruiseOrders = xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("limit 1"));            XpCruiseOrder xpCruiseOrder = new XpCruiseOrder();
+            XpCruiseOrder xpCruiseOrders = xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("limit 1"));
+            XpCruiseOrder xpCruiseOrder = new XpCruiseOrder();
             xpCruiseOrder.setVehicleId(vehicle.getId());
+            xpCruiseOrder.setFleetId(vehicle.getFleetId());
             xpCruiseOrder.setVehicleVin(vehicle.getVehicleVin());
             xpCruiseOrder.setOrderType(2);
             // 返程起点是当前正常订单的终点
@@ -1682,6 +1686,7 @@
                 if (byVehicleVin.getCode() == 200) {
                     vehicle = byVehicleVin.getData();
                     order.setVehicleId(vehicle.getId());
+                    order.setFleetId(vehicle.getFleetId());
                     addTaxiPassengerVo.setVin(vehicle.getVehicleVin());
                 }
                 order.setStatus(2);

--
Gitblit v1.7.1