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