From 65dcb2917a3b68e19351878e1d93f0b0ecb83cb5 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 13 二月 2026 16:49:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java |   86 ++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 53 deletions(-)

diff --git a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java
index f1d348c..971dd31 100644
--- a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java
+++ b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/util/XPUUtil.java
@@ -7,13 +7,17 @@
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson2.JSON;
+import com.xiaopeng.api.dto.automaticPilot.MqttPublishDto;
+import com.xiaopeng.api.feignClient.automaticPilot.XPUClient;
+import com.xiaopeng.api.vo.automaticPilot.MqttPublishVo;
 import com.xiaopeng.api.vo.automaticPilot.proto.down.*;
-import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudOrderOperation.OrderOperation;
 import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.RTTask;
+import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudOrderOperation.OrderOperation;
 import com.xiaopeng.common.core.utils.uuid.UUID;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 /**
  * 自动驾驶接口对接文档
@@ -22,11 +26,8 @@
 @Component
 public class XPUUtil {
 
-    /**
-     * 接口地址
-     */
-    @Value("${xpu.url}")
-    private String xpuUrl;
+    @Resource
+    private XPUClient xpuClient;
 
 
     /**
@@ -35,14 +36,14 @@
      * @param task
      * @return
      */
-    public ResponseMessage cloudCreateOrder(RTTask task) {
+    public MqttPublishDto cloudCreateOrder(RTTask task, String vin, Long sequence) {
         MsgContent msgContent = new MsgContent();
         // 消息头
         RtMsgHeader header = new RtMsgHeader();
         header.setMsg_id(UUID.randomUUID().toString());
         header.setTimestamp(System.currentTimeMillis());
         header.setCmd(RTCmdType.CLOUD_CREATE_ORDER);
-        header.setSequence(1L);
+        header.setSequence(sequence);
         header.setType(MessageType.MESSAGE_TYPE_RESPONSE);
         msgContent.setHeader(header);
         // 消息内容
@@ -50,22 +51,12 @@
         jsonObject.put("task", task);
         msgContent.setContent_detail(jsonObject);
         log.info("云端-->XPU 创建订单:{}", msgContent);
-        HttpRequest post = HttpUtil.createPost("");
-        post.body(JSON.toJSONString(msgContent));
-        HttpResponse execute = post.execute();
-        int status = execute.getStatus();
-        if (200 != status) {
-            throw new RuntimeException("XPU 接口异常:" + execute.getStatus());
-        }
-        MsgContent resMsgContent = JSON.parseObject(execute.body(), MsgContent.class);
-        RtMsgHeader resHeader = resMsgContent.getHeader();
-        int value = resHeader.getType().getValue();
-        //只处理应答消息
-        if (value == MessageType.MESSAGE_TYPE_RESPONSE.getValue()) {
-            JSONObject contentDetail = resMsgContent.getContent_detail();
-            return contentDetail.getObject("response", ResponseMessage.class);
-        }
-        return null;
+
+        //组装请求消息体
+        MqttPublishVo vo = new MqttPublishVo();
+        vo.setTopic("topic-prod-xpu-robotaxi-high/" + vin);
+        vo.setPayload(JSON.toJSONString(msgContent));
+        return xpuClient.publish(vo);
     }
 
 
@@ -76,15 +67,14 @@
      * @param operation
      * @return
      */
-    public ResponseMessage cloudOrderOperation(OrderOperation operation) {
+    public MqttPublishDto cloudOrderOperation(OrderOperation operation, String vin,Long  sequence) {
         MsgContent msgContent = new MsgContent();
         // 消息头
         RtMsgHeader header = new RtMsgHeader();
         header.setMsg_id(UUID.randomUUID().toString());
         header.setTimestamp(System.currentTimeMillis());
         header.setCmd(RTCmdType.CLOUD_ORDER_OPERATION);
-        Snowflake snowflake = IdUtil.getSnowflake(0, 0);
-        header.setSequence(snowflake.nextId());
+        header.setSequence(sequence);
         header.setType(MessageType.MESSAGE_TYPE_REQUEST);
         msgContent.setHeader(header);
         // 消息内容
@@ -92,22 +82,15 @@
         jsonObject.put("operation", operation);
         msgContent.setContent_detail(jsonObject);
         log.info("云端-->XPU 操作订单:{}", msgContent);
-        HttpRequest post = HttpUtil.createPost("");
-        post.body(JSON.toJSONString(msgContent));
-        HttpResponse execute = post.execute();
-        int status = execute.getStatus();
-        if (200 != status) {
-            throw new RuntimeException("XPU 接口异常:" + execute.getStatus());
-        }
-        MsgContent resMsgContent = JSON.parseObject(execute.body(), MsgContent.class);
-        RtMsgHeader resHeader = resMsgContent.getHeader();
-        int value = resHeader.getType().getValue();
-        //只处理应答消息
-        if (value == MessageType.MESSAGE_TYPE_RESPONSE.getValue()) {
-            JSONObject contentDetail = resMsgContent.getContent_detail();
-            return contentDetail.getObject("response", ResponseMessage.class);
-        }
-        return null;
+        //组装请求消息体
+        MqttPublishVo vo = new MqttPublishVo();
+        vo.setTopic("topic-prod-xpu-robotaxi-high/" + vin);
+        vo.setPayload(JSON.toJSONString(msgContent));
+
+
+
+
+        return xpuClient.publish(vo);
     }
 
 
@@ -119,7 +102,7 @@
      * @param responseMessage
      * @return
      */
-    public ResponseMessage responseMessage(ResponseMessage responseMessage) {
+    public MqttPublishDto responseMessage(ResponseMessage responseMessage, String vin) {
         MsgContent msgContent = new MsgContent();
         // 消息头
         RtMsgHeader header = new RtMsgHeader();
@@ -135,14 +118,11 @@
         jsonObject.put("resposne", responseMessage);
         msgContent.setContent_detail(jsonObject);
         log.info("云端-->XPU 响应消息:{}", msgContent);
-        HttpRequest post = HttpUtil.createPost("");
-        post.body(JSON.toJSONString(msgContent));
-        HttpResponse execute = post.execute();
-        int status = execute.getStatus();
-        if (200 != status) {
-            throw new RuntimeException("XPU 接口异常:" + execute.getStatus());
-        }
-        return null;
+        //组装请求消息体
+        MqttPublishVo vo = new MqttPublishVo();
+        vo.setTopic("topic-prod-xpu-robotaxi-high/" + vin);
+        vo.setPayload(JSON.toJSONString(msgContent));
+        return xpuClient.publish(vo);
     }
 
 }

--
Gitblit v1.7.1