From 3896cbb9ed6fa03d90a4032238dad7b2f39c607c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期二, 24 三月 2026 20:23:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehiclePreparationServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehiclePreparationServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehiclePreparationServiceImpl.java
index beab8f8..58981b5 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehiclePreparationServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehiclePreparationServiceImpl.java
@@ -1,5 +1,7 @@
 package com.xiaopeng.maintenance.service.impl;
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
@@ -8,6 +10,7 @@
 import com.xiaopeng.api.model.maintenance.XpVehiclePreparation;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
+import com.xiaopeng.evi.oss.service.AliOssService;
 import com.xiaopeng.maintenance.model.query.XpVehiclePreparationPageQuery;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
 import com.xiaopeng.api.vo.maintenance.XpVehiclePreparationDetailVO;
@@ -61,7 +64,8 @@
     private XpVehicleClient xpVehicleClient;
     @Autowired
     private MongoTemplate mongoTemplate;
-
+    @Autowired
+    private AliOssService aliOssService;
 
     @Override
     public PageInfo<OperationRecordsVO> operationRecords(OperationRecordsQuery query) {
@@ -152,6 +156,82 @@
         if (Objects.nonNull(operationsUserStart)) {
             xpVehiclePreparationVO.setOperatorStartName(operationsUserStart.getNickName());
         }
+
+        // 图片封装
+        try {
+            // 大灯
+            String headLight = xpVehiclePreparation.getHeadLight();
+            if (StringUtils.isNotBlank(headLight)) {
+                JSONArray jsonArray = JSONArray.parseArray(headLight);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    jsonObject.put("url", downloadUrl);
+                }
+                xpVehiclePreparationVO.setHeadLight(JSONArray.toJSONString(jsonArray));
+            }
+            // 转向灯
+            String turnSignal = xpVehiclePreparation.getTurnSignal();
+            if (StringUtils.isNotBlank(turnSignal)) {
+                JSONArray jsonArray = JSONArray.parseArray(turnSignal);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    jsonObject.put("url", downloadUrl);
+                }
+                xpVehiclePreparationVO.setTurnSignal(JSONArray.toJSONString(jsonArray));
+            }
+            // 刹车灯
+            String brakeLight = xpVehiclePreparation.getBrakeLight();
+            if (StringUtils.isNotBlank(brakeLight)) {
+                JSONArray jsonArray = JSONArray.parseArray(brakeLight);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    jsonObject.put("url", downloadUrl);
+                }
+                xpVehiclePreparationVO.setBrakeLight(JSONArray.toJSONString(jsonArray));
+            }
+            // 雾灯
+            String fogLight = xpVehiclePreparation.getFogLight();
+            if (StringUtils.isNotBlank(fogLight)) {
+                JSONArray jsonArray = JSONArray.parseArray(fogLight);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    jsonObject.put("url", downloadUrl);
+                }
+                xpVehiclePreparationVO.setFogLight(JSONArray.toJSONString(jsonArray));
+            }
+            // 舱内清洁
+            String cabinCleaning = xpVehiclePreparation.getCabinCleaning();
+            if (StringUtils.isNotBlank(cabinCleaning)) {
+                JSONArray jsonArray = JSONArray.parseArray(cabinCleaning);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    jsonObject.put("url", downloadUrl);
+                }
+                xpVehiclePreparationVO.setCabinCleaning(JSONArray.toJSONString(jsonArray));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return xpVehiclePreparationVO;
     }
 

--
Gitblit v1.7.1