From c61295c7a6ca17857ff629ddb48c2ef65bb691b1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 14 三月 2026 11:52:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 50 insertions(+), 5 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 3b7914c..3c34c5a 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
@@ -703,6 +703,22 @@
// 更新订单状态为已完成(10)
this.lambdaUpdate().set(XpOrder::getStatus, 10)
.eq(XpOrder::getId, order.getId()).update();
+
+
+ // 消息推送
+ Map<String, Object> params = new HashMap<>();
+ Map<String, Object> content = new HashMap<>();
+ content.put("orderId", order.getId().toString());
+ content.put("status", OrderStatusEnum.COMPLETED.getCode());
+ params.put("type", PushMessageTypeEnum.ORDER_STATUS.getDesc());
+ params.put("content", com.alibaba.fastjson2.JSONObject.toJSONString(content));
+ params.put("timestamp", new Date().getTime() + "");
+ String message = JSONObject.toJSONString(params);
+ SendMessageDTO sendMessageDTO = new SendMessageDTO();
+ sendMessageDTO.setMessage(message);
+ sendMessageDTO.setAppUserId(String.valueOf(order.getAppUserId()));
+ xpPushMessageClient.sendStatus(sendMessageDTO);
+ log.info("运营人员取消订单成功,推送乘客消息完成");
log.info("订单关闭成功,订单ID: {}, 操作人: {}", order.getId(), SecurityUtils.getUsername());
}
@@ -1005,7 +1021,7 @@
}
@Override
- public List<XpHistoryStartPointsVo> getHistoryStartPoints(String uid, double lon, double lat) {
+ public List<XpHistoryStartPointsVo> getHistoryStartPoints(String uid, double lon, double lat,Long electronicAreaId) {
//
List<XpOrder> xpOrders = this.baseMapper.getHistoryStartPoints(Long.valueOf(uid));
// selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
@@ -1043,7 +1059,7 @@
}
@Override
- public List<XpHistoryEndPointsVo> getHistoryEndPoints(String uid, double lon, double lat) {
+ public List<XpHistoryEndPointsVo> getHistoryEndPoints(String uid, double lon, double lat,Long electronicAreaId) {
//
List<XpOrder> xpOrders = this.baseMapper.getHistoryEndPoints(Long.valueOf(uid));
// selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
@@ -1678,7 +1694,7 @@
}
String durationAndMileage = key.split("\\|")[2];
startDetail.setDuration(Double.valueOf(durationAndMileage.split("&")[0]));
- startDetail.setMileage(new BigDecimal(durationAndMileage.split("&")[1]));
+ startDetail.setMileage(new BigDecimal(durationAndMileage.split("&")[1]).multiply(BigDecimal.valueOf(1000)));
start.add(startDetail);
}
// 封装里程费
@@ -1728,7 +1744,19 @@
// 封装时长费
FareBreakdownDetailVo timeDetail = new FareBreakdownDetailVo();
if (key.contains("时长费")) {
- timeDetail.setType(startDetail.getType());
+ if(key.contains("普通时段")){
+ timeDetail.setType(1);
+ }
+ if(key.contains("夜间行驶")){
+ timeDetail.setType(2);
+ }
+ if(key.contains("高峰")){
+ timeDetail.setType(3);
+ }
+ if(key.contains("节假")){
+ timeDetail.setType(4);
+ }
+
timeDetail.setMoney(stringBigDecimalEntry.getValue());
timeDetail.setDuration(Double.valueOf(key.split("&")[1]));
duration.add(timeDetail);
@@ -1738,7 +1766,7 @@
if (key.contains("远途费")) {
longDetail.setType(startDetail.getType());
longDetail.setMoney(stringBigDecimalEntry.getValue());
- longDetail.setMileage(new BigDecimal(key.split("&")[1]));
+// longDetail.setMileage(new BigDecimal(key.split("&")[1]));
longDistance.add(longDetail);
}
}
@@ -2424,6 +2452,23 @@
XpOrder order = this.getById(dto.getOrderId());
order.setStatus(9);
order.setAppUserId(null);
+
+
+ if(order.getCouponId()!=null){
+ UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
+ useUserCouponDto.setUserCouponId(order.getCouponId());
+ R<BigDecimal> decimalR = xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
+ if(decimalR.getCode()==200){
+ order.setCouponMoney(decimalR.getData());
+ if(order.getCouponMoney().compareTo(order.getOrderMoney())>0){
+ order.setPayMoney(BigDecimal.ZERO);
+ order.setCouponMoney(order.getOrderMoney());
+ }else {
+ order.setPayMoney(order.getOrderMoney().subtract(decimalR.getData()));
+ }
+ }
+
+ }
baseMapper.updateById(order);
return R.ok();
}
--
Gitblit v1.7.1