From 8a3cd5f33de8458eb6527f5263eba1f4658923f6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 25 三月 2026 20:22:57 +0800
Subject: [PATCH] 修改bug
---
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java | 11 +++++
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java | 10 +---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java | 16 ++++++++
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java | 6 +++
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java | 3 +
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 17 --------
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java | 10 +---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java | 1
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java | 4 +-
9 files changed, 43 insertions(+), 35 deletions(-)
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
index 39c5f60..635ba9e 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
@@ -79,6 +79,12 @@
}
@Override
+ public R<Integer> todayCancellationCount(Long userId) {
+ log.error("获取当日取消订单次数失败,原因: {}", cause.getMessage());
+ return R.fail("获取当日取消订单次数失败");
+ }
+
+ @Override
public R<Integer> countActiveOrdersByCityId(Long cityId) {
log.error("查询进行中订单数量失败,原因: {}", cause.getMessage());
return R.ok(0);
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
index 338e167..62ab0e1 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
@@ -85,6 +85,17 @@
@PostMapping("/inner/order/getOrderNum")
R<Integer> getOrderNum(@RequestBody GetOrderNumDto dto);
+
+
+ /**
+ * 当日取消订单次数
+ *
+ * @param
+ * @return 订单数量
+ */
+ @PostMapping("/inner/order/todayCancellationCount")
+ R<Integer> todayCancellationCount(@RequestParam Long userId);
+
/**
* 查询指定城市进行中的订单数量(status=1)
*
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
index 1c97da8..19e3db0 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -489,15 +489,11 @@
}
// 判断当天取消的次数 后台配置 redis 查询
- Object cancelOrder = redisService.getCacheObject("CANCEL_ORDER_" + uid);
- log.info("取消次数:{}", cancelOrder);
// 静默处理
boolean isSilent = false;
- if (cancelOrder != null) {
- Integer num = Integer.valueOf(cancelOrder.toString());
- if (num >= cancelCount) {
- isSilent = true;
- }
+ Integer num = xpOrderClient.todayCancellationCount(Long.valueOf(uid)).getData();
+ if (num >= cancelCount) {
+ isSilent = true;
}
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java
index 33cf0b3..c8c251b 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java
@@ -453,15 +453,11 @@
throw new ServiceException("当前点位未开通服务", I18nKeyConstant.NO_CURRENT_REGION);
}
- // 判断当天取消的次数 后台配置 redis 查询
- Object cancelOrder = redisService.getCacheObject("CANCEL_ORDER_" + uid);
// 静默处理
boolean isSilent = false;
- if (cancelOrder != null) {
- Integer num = Integer.valueOf(cancelOrder.toString());
- if (num >= cancelCount) {
- isSilent = true;
- }
+ Integer num = xpOrderClient.todayCancellationCount(Long.valueOf(uid)).getData();
+ if (num >= cancelCount) {
+ isSilent = true;
}
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
index 6cd1259..5ea91f7 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -307,7 +307,6 @@
// 找出符合条件的
availableVehiclesNearby = availableVehiclesNearby.stream().filter(e -> data.contains(e.getVin())).collect(Collectors.toList());
-
// List<VehiclePositionVo> availableVehiclesNearby =vehiclePositionVos.getData();
if (!availableVehiclesNearby.isEmpty()) {
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
index 584e57f..aedd476 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -6,6 +6,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xiaopeng.api.dto.QueryOrderRouteDTO;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.dto.order.AddCruiseMissionDto;
@@ -584,4 +585,19 @@
return R.ok(routeVo);
}
+
+
+ /**
+ * 当日取消订单次数
+ *
+ * @param
+ * @return 订单数量
+ */
+ @PostMapping("/inner/order/todayCancellationCount")
+ public R<Integer> todayCancellationCount(@RequestParam Long userId){
+ long count = xpOrderService.count(new QueryWrapper<XpOrder>().eq("app_user_id", userId).eq("status", 0)
+ .eq("is_deleted", 0).last(" and DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d"));
+ return R.ok((int)count);
+ }
+
}
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 9855061..8e9c837 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
@@ -1417,15 +1417,6 @@
xpOrderCancelService.save(xpOrderCancel);
- // 设置当天的取消次数缓存
- Object cacheObject = redisService.getCacheObject("CANCEL_ORDER_" + uid);
- if (cacheObject == null) {
- redisService.setCacheCancelOrder("CANCEL_ORDER_" + uid, 1);
- } else {
- Integer i = Integer.valueOf(cacheObject.toString());
- redisService.setCacheCancelOrder("CANCEL_ORDER_" + uid, i + 1);
- }
-
// 移除mongo数据
xpPricingClient.deleteXpGeoQueryEntity(order.getId().toString());
@@ -1531,14 +1522,6 @@
// 移除mongo数据
xpPricingClient.deleteXpGeoQueryEntity(order.getId().toString());
- // 设置当天的取消次数缓存
- Object cacheObject = redisService.getCacheObject("CANCEL_ORDER_" + appUserId);
- if (cacheObject == null) {
- redisService.setCacheCancelOrder("CANCEL_ORDER_" + appUserId, 1);
- } else {
- Integer i = Integer.valueOf(cacheObject.toString());
- redisService.setCacheCancelOrder("CANCEL_ORDER_" + appUserId, i + 1);
- }
return order;
}
diff --git a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
index 1558c45..c3ebd12 100644
--- a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
+++ b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -763,7 +763,8 @@
*/
@PostMapping("/inner/vehicle/queryVehiclePositionByVin")
public R<List<String>> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto){
- List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, 0).eq(XpVehicle::getOperatingStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin,
+ List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, 0)
+ .eq(XpVehicle::getOperatingStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin,
dto.getVinList()));
if(list.isEmpty()){
return R.ok(new ArrayList<>());
diff --git a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
index 4783222..4f252c2 100644
--- a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
+++ b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -320,8 +320,8 @@
String result = vehicleControlUtil.vehiclesCommand(vehiclesCommandVo, xpOrder.getAppUserId());
log.info("车辆控制结果:{}", result);
JSONObject jsonObject = JSONObject.parseObject(result);
- String msgId = jsonObject.getString("msgId");
- if (StringUtils.isEmpty(msgId)) {
+ Integer code = jsonObject.getInteger("code");
+ if (code != 0) {
return 0;
}else {
xpOrderClient.updateOrder(xpOrder);
--
Gitblit v1.7.1