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