From ddb3a1747c253fa5dbc774ad8dd72c1c3deb61ca Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 19 三月 2026 21:20:07 +0800
Subject: [PATCH] fix:修改图片回显导致的类型转换异常

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java |   41 +++++++++++++++++++++++++++++------------
 1 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
index e36df1f..4745478 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
@@ -20,6 +20,7 @@
 import com.xiaopeng.maintenance.vo.RepairStatusVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -39,6 +40,7 @@
  * @author xiaochen
  * @since 2026-02-06
  */
+@Slf4j
 @Api(tags = "车辆维修")
 @RestController
 public class XpVehicleRepairController {
@@ -98,7 +100,12 @@
         if (StringUtils.isNotBlank(vehiclePictures)) {
             JSONObject jsonObject = JSONObject.parseObject(vehiclePictures);
             // 1
-            String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                String downloadUrl = jsonObject.getString("url");;
+                try {
+                    downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                } catch (UnsupportedEncodingException e) {
+                    log.error("获取图片下载地址失败", e);
+                }
             jsonObject.put("url", downloadUrl);
             xpVehicleRepairVO.setVehiclePictures(jsonObject.toJSONString());
         }
@@ -106,14 +113,17 @@
         String startRepairPicture = xpVehicleRepairVO.getStartRepairPicture();
         if (StringUtils.isNotBlank(startRepairPicture)) {
             JSONArray jsonArray = JSONArray.parseArray(startRepairPicture);
-            for (Object o : jsonArray) {
-                JSONObject jsonObject = (JSONObject)o;
-                String downloadUrl = null;
+            for (int i = 0; i < jsonArray.size(); i++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(i);
+                if (Objects.isNull(jsonObject)) {
+                    continue;
+                }
+                // 1
+                String downloadUrl = jsonObject.getString("url");;
                 try {
-                    // 1
                     downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                 } catch (UnsupportedEncodingException e) {
-                    throw new RuntimeException(e);
+                    log.error("获取图片下载地址失败", e);
                 }
                 jsonObject.put("url", downloadUrl);
             }
@@ -139,7 +149,12 @@
             if (StringUtils.isNotBlank(vehiclePictures)) {
                 JSONObject jsonObject = JSONObject.parseObject(vehiclePictures);
                 //1
-                String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                    String downloadUrl = jsonObject.getString("url");;
+                try {
+                    downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                } catch (UnsupportedEncodingException e) {
+                    log.error("获取图片下载地址失败", e);
+                }
                 jsonObject.put("url", downloadUrl);
                 record.setVehiclePictures(jsonObject.toJSONString());
             }
@@ -147,14 +162,16 @@
             String startRepairPicture = record.getStartRepairPicture();
             if (StringUtils.isNotBlank(startRepairPicture)) {
                 JSONArray jsonArray = JSONArray.parseArray(startRepairPicture);
-                for (Object o : jsonArray) {
-                    JSONObject jsonObject = (JSONObject)o;
-                    String downloadUrl = null;
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    if (Objects.isNull(jsonObject)) {
+                        continue;
+                    }
+                    String downloadUrl = jsonObject.getString("url");;
                     try {
-                        //1
                         downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                     } catch (UnsupportedEncodingException e) {
-                        throw new RuntimeException(e);
+                        log.error("获取图片下载地址失败", e);
                     }
                     jsonObject.put("url", downloadUrl);
                 }

--
Gitblit v1.7.1