From 5c66a7f02f62ce8f5293a59b467461b0468c4e51 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 18 四月 2026 17:40:18 +0800
Subject: [PATCH] merge
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 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 381eda9..0cbcea9 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
@@ -7,6 +7,7 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.ImmutableMap;
@@ -69,6 +70,7 @@
import com.xiaopeng.common.security.utils.SecurityUtils;
import com.xiaopeng.order.constant.I18nKeyConstant;
import com.xiaopeng.order.dto.MileageDto;
+import com.xiaopeng.order.dto.UserOrderListDto;
import com.xiaopeng.order.job.base.QuartzManager;
import com.xiaopeng.order.job.base.TimeJobType;
import com.xiaopeng.order.job.jobs.*;
@@ -87,6 +89,8 @@
import com.xiaopeng.order.utils.*;
import com.xiaopeng.order.utils.holiday.HolidayUtil;
import com.xiaopeng.order.vo.OrderDetailVo;
+import com.xiaopeng.order.vo.OrderInfoVo;
+import com.xiaopeng.order.vo.UserOrderListVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
@@ -109,6 +113,7 @@
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.*;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
@@ -3803,4 +3808,45 @@
);
return num.intValue();
}
+
+
+ /**
+ * 根据 UID 查询用户是否有 RT 订单 & 订单列表
+ * @param dto
+ * @return
+ */
+ @Override
+ public List<UserOrderListVo> getUserOrderList(UserOrderListDto dto) {
+ List<XpOrder> list = this.list(new QueryWrapper<XpOrder>().eq("app_user_id", dto.getUid())
+ .eq("is_deleted", 0)
+ .eq(dto.getOrderStatus() != null, "status", dto.getOrderStatus())
+ .eq(dto.getOrderId() != null, "id", dto.getOrderId())
+ .last(" order by create_time desc limit " + dto.getPageNo() + "," + dto.getPageSize())
+ );
+ List<UserOrderListVo> collect = list.stream().map(order -> {
+ UserOrderListVo vo = new UserOrderListVo();
+ vo.setOrderId(order.getId());
+ vo.setOrderStatus(order.getStatus());
+ vo.setOrderCreatedAt(order.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+ XpPoint startPoint = xpPointClient.queryById(order.getStartPointId()).getData();
+ vo.setPickupAddress(null != startPoint ? startPoint.getPointAddress() : null);
+ XpPoint endPoint = xpPointClient.queryById(order.getEndPointId()).getData();
+ vo.setDestAddress(null != endPoint ? endPoint.getPointAddress() : null);
+ vo.setTotalPrice(order.getOrderMoney());
+ return vo;
+ }).collect(Collectors.toList());
+ return collect;
+ }
+
+
+ /**
+ * 获取订单详情
+ * @param orderId
+ * @return
+ */
+ @Override
+ public OrderInfoVo getOrderInfo(Long orderId) {
+ return null;
+ }
}
--
Gitblit v1.7.1