From cf7fde24bf5a20ca8328729406f85ee16984da7a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 14 三月 2026 21:34:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
index 9d09a44..2a12c93 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -405,7 +405,8 @@
         }
         return R.ok(res);
     }
-
+    @ShardingSphereTransactionType(TransactionType.BASE)
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public R handleVehicleAccident(HandleVehicleAccidentDto dto, XpOperationsUser xpOperationsUser) {
         XpTask task = this.getById(dto.getId());
@@ -419,6 +420,7 @@
         task.setHandleTime(LocalDateTime.now());
         task.setHandleUserId(xpOperationsUser.getId().toString());
         task.setStatus(2);
+        updateById(task);
         // 存储事故处理日志
         XpTaskHandleDetail xpTaskHandleDetail = new XpTaskHandleDetail();
         xpTaskHandleDetail.setTaskId(task.getId());
@@ -453,6 +455,9 @@
                     I18nKeyConstant.VEHICLE_NOT_EXIST
             );
         }
+        //查询任务处理记录
+        XpTaskHandleDetailRoutine xpTaskHandleDetailRoutine = xpTaskHandleDetailRoutineMapper.selectOne(new LambdaQueryWrapper<XpTaskHandleDetailRoutine>()
+                .eq(XpTaskHandleDetailRoutine::getTaskId, id).last("limit 1"));
         res.setId(id);
         res.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
         res.setEndTime(task.getEndTime());
@@ -474,6 +479,12 @@
         res.setTaskImage(task.getTaskImage());
         res.setHandleUserId(task.getHandleUserId());
         res.setHandleTime(task.getHandleTime());
+        if (Objects.nonNull(xpTaskHandleDetailRoutine)) {
+            res.setTaskDescription(xpTaskHandleDetailRoutine.getTaskDescription());
+            task.setHandleUserId(xpTaskHandleDetailRoutine.getOperationsUserId().toString());
+            res.setHandleTime(xpTaskHandleDetailRoutine.getCreateTime());
+            res.setTaskImage(xpTaskHandleDetailRoutine.getTaskImage());
+        }
         if (Objects.nonNull(task.getHandleUserId()) && task.getHandleUserId().split(",").length == 1) {
             XpOperationsUser data = xpOperationUserClient.queryById(Long.valueOf(task.getHandleUserId())).getData();
             if (Objects.nonNull(data)) {

--
Gitblit v1.7.1