From db0af98fc1de7635a4b7b84b09bcaeb801f43d9d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 23 四月 2026 15:50:35 +0800
Subject: [PATCH] 修改蓝牙返回数据结构

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/BluetoothTokenVo.java          |   18 ++++++++++++++++++
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java |   16 +++++++++++++---
 2 files changed, 31 insertions(+), 3 deletions(-)

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 90442de..d6f6712 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
@@ -4,6 +4,7 @@
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.hutool.core.bean.BeanUtil;
 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;
@@ -23,6 +24,7 @@
 import com.xiaopeng.api.vo.order.*;
 import com.xiaopeng.api.vo.vehicleConvoy.GetBleInfoVo;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.exception.ServiceException;
 import com.xiaopeng.common.core.utils.StringUtils;
 import com.xiaopeng.common.core.utils.WebUtils;
 import com.xiaopeng.common.core.web.page.PageInfo;
@@ -41,6 +43,7 @@
 import com.xiaopeng.order.model.vo.XpOrderHistoryVO;
 import com.xiaopeng.order.model.vo.XpOrderPageVO;
 import com.xiaopeng.order.service.IXpOrderService;
+import com.xiaopeng.order.vo.BluetoothTokenVo;
 import com.xiaopeng.order.vo.OrderDetailVo;
 import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
 import io.swagger.annotations.*;
@@ -677,7 +680,7 @@
     @ApiOperation(value = "通过订单id获取蓝牙开锁秘钥", tags = {"小程序-业务流程"})
     @GetMapping("/api/v1/mini-program/bluetooth/getUnlocktToken/{orderId}")
     @XpClientCheck(checkToken = false, checkOtpToken = true)
-    public R<String> getBluetoothToken(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
+    public R<BluetoothTokenVo> getBluetoothToken(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
         String uid = request.getHeader("XP-Uid");
         XpOrder xpOrder = xpOrderService.getById(orderId);
         if (!Objects.equals(xpOrder.getAppUserId(), Long.valueOf(uid))) {
@@ -694,7 +697,14 @@
         GetBleInfoVo getBleInfoVo = new GetBleInfoVo();
         getBleInfoVo.setVin(xpVehicle.getVehicleVin());
         BaseVehicleUserDto baseVehicleUserDto = vehicleMacClient.getBleInfo(getBleInfoVo);
-
-        return R.ok(token);
+        if(null == baseVehicleUserDto || 200 != baseVehicleUserDto.getCode()){
+            throw new ServiceException("获取蓝牙信息失败");
+        }
+        JSONObject jsonObject = JSON.parseObject(baseVehicleUserDto.getData().toString());
+        BluetoothTokenVo vo = new BluetoothTokenVo();
+        vo.setToken(token);
+        vo.setMacAddress(jsonObject.getString("macAddress"));
+        vo.setSlaveMacList(jsonObject.getList("slaveMacList", String.class));
+        return R.ok(vo);
     }
 }
\ No newline at end of file
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/BluetoothTokenVo.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/BluetoothTokenVo.java
new file mode 100644
index 0000000..dbae492
--- /dev/null
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/BluetoothTokenVo.java
@@ -0,0 +1,18 @@
+package com.xiaopeng.order.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel
+public class BluetoothTokenVo {
+    @ApiModelProperty(value = "蓝牙token")
+    private String token;
+    @ApiModelProperty("主蓝牙MAC地址")
+    private String macAddress;
+    @ApiModelProperty("从蓝牙MAC地址")
+    private List<String> slaveMacList;
+}

--
Gitblit v1.7.1