From 7e6951504e2f65a101b52f15f225a4625e9d8b83 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 13 二月 2026 16:48:58 +0800
Subject: [PATCH] feat(order): 添加订单任务下发功能

---
 xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index 5fa5dec..44f658b 100644
--- a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -6,6 +6,7 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.xiaopeng.api.dto.map.OrderRouteAndFareDto;
 import com.xiaopeng.api.dto.operation.LonLatDto;
+import com.xiaopeng.api.dto.order.PopOrderDto;
 import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO;
 import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
 import com.xiaopeng.api.feignClient.map.XpMapClient;
@@ -35,6 +36,7 @@
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.enums.OrderStatusEnum;
 import com.xiaopeng.common.core.enums.PushMessageTypeEnum;
+import com.xiaopeng.common.core.utils.SnowFlake;
 import com.xiaopeng.common.core.utils.StringUtils;
 import com.xiaopeng.common.core.utils.uuid.UUID;
 import com.xiaopeng.common.redis.service.RedisService;
@@ -49,6 +51,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Kafka 消费者服务
@@ -77,6 +80,7 @@
 
     @Resource
     private XpPushMessageClient xpPushMessageClient;
+
 
 
     /**
@@ -159,6 +163,17 @@
             com.xiaopeng.api.vo.automaticPilot.proto.up.StatusCode code = resposne.getCode();
             Long requestSeq = resposne.getRequest_seq();
             if(code == com.xiaopeng.api.vo.automaticPilot.proto.up.StatusCode.OK){
+                Object sequence = redisTemplate.opsForValue().get(requestSeq);
+                if(sequence!=null){
+                    String[] split = sequence.toString().split("_");
+                    if(split[0].equals("pushOrder")){
+                        PopOrderDto dto = new PopOrderDto();
+                        dto.setOrderId(Long.valueOf(split[1]));
+                        dto.setXpVehicleVin(split[2]);
+                        xpOrderClient.popOrder(dto);
+                    }
+                }
+
 
             }
         }
@@ -527,8 +542,13 @@
             waypoints.add(waypoint);
         }
         orderOperation.setWaypoints(waypoints);
+        SnowFlake snowFlake = new SnowFlake(0, 0);
+        snowFlake.withStartTimestamp(1420041600000L);
+        long sequence = snowFlake.nextId();
+        // 处理数据
+        redisTemplate.opsForValue().set(sequence,"pushOrder_"+orderId+"_"+vin,30, TimeUnit.MINUTES);
         //开发发送请求到XPU
-        xpuUtil.cloudOrderOperation(orderOperation, vin);
+        xpuUtil.cloudOrderOperation(orderOperation, vin,sequence);
     }
 
 

--
Gitblit v1.7.1