From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpWorkOrderController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpWorkOrderController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpWorkOrderController.java
index 9bf881b..66a952e 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpWorkOrderController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpWorkOrderController.java
@@ -1,20 +1,33 @@
 package com.xiaopeng.maintenance.controller;
 
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.xiaopeng.api.model.maintenance.XpWorkOrder;
 import com.xiaopeng.api.model.maintenance.XpWorkOrderLog;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.page.PageInfo;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
 import com.xiaopeng.common.security.service.TokenService;
+import com.xiaopeng.evi.oss.service.AliOssService;
 import com.xiaopeng.maintenance.model.query.WorkOrderPageListQuery;
 import com.xiaopeng.maintenance.service.IXpWorkOrderLogService;
 import com.xiaopeng.maintenance.service.IXpWorkOrderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
 
 /**
  * <p>
@@ -35,6 +48,8 @@
     private IXpWorkOrderLogService workOrderLogService;
     @Resource
     private TokenService tokenService;
+    @Resource
+    private AliOssService aliOssService;
 
     @ApiOperation(value = "工单管理分页列表")
     @PostMapping("/pageList")
@@ -45,6 +60,12 @@
     }
     @ApiOperation(value = "创建工单")
     @PostMapping("/saveWorkOrder")
+    @AdminOperationLog(
+            businessType = AdminBusinessType.WORK_ORDER_MANAGEMENT,
+            operationType = AdminOperationType.ADD,
+            contentExpression = "'创建工单,feedbackTypeId=' + #p0.feedbackTypeId + ',priority=' + #p0.priority",
+            appendRequestData = false
+    )
     public R saveWordOrder(@RequestBody XpWorkOrder workOrder) {
         workOrder.setCreateById(tokenService.getLoginUser().getSysUser().getId());
         workOrderService.save(workOrder);
@@ -52,18 +73,36 @@
     }
     @ApiOperation(value = "编辑工单")
     @PostMapping("/updateWorkOrder")
+    @AdminOperationLog(
+            businessType = AdminBusinessType.WORK_ORDER_MANAGEMENT,
+            operationType = AdminOperationType.EDIT,
+            contentExpression = "'编辑工单,id=' + #p0.id + ',feedbackTypeId=' + #p0.feedbackTypeId + ',priority=' + #p0.priority",
+            appendRequestData = false
+    )
     public R updateWordOrder(@RequestBody XpWorkOrder workOrder) {
         workOrderService.updateById(workOrder);
         return R.ok();
     }
     @ApiOperation(value = "处理工单")
     @PostMapping("/handleWorkOrder")
+    @AdminOperationLog(
+            businessType = AdminBusinessType.WORK_ORDER_MANAGEMENT,
+            operationType = AdminOperationType.EDIT,
+            contentExpression = "'处理工单,workOrderId=' + #p0.workOrderId + ',handleType=' + #p0.handleType",
+            appendRequestData = false
+    )
     public R handleWorkOrder(@RequestBody XpWorkOrderLog workOrderLog) {
         workOrderService.handleWorkOrder(workOrderLog);
         return R.ok();
     }
     @ApiOperation(value = "删除工单")
     @DeleteMapping("/deleteWorkOrder")
+    @AdminOperationLog(
+            businessType = AdminBusinessType.WORK_ORDER_MANAGEMENT,
+            operationType = AdminOperationType.DELETE,
+            contentExpression = "'删除工单,id=' + #p0",
+            appendRequestData = false
+    )
     public R deleteWordOrder(Long id) {
         workOrderService.removeById(id);
         return R.ok();
@@ -72,6 +111,26 @@
     @GetMapping("/workOrderDetail")
     public R<XpWorkOrder> workOrderDetail(Long id) {
         XpWorkOrder detail =workOrderService.workOrderDetail(id);
+        if(detail.getProblemImage()!=null){
+            String problemImage = detail.getProblemImage();
+            if (StringUtils.isNotBlank(problemImage)) {
+                JSONArray jsonArray = JSONArray.parseArray(problemImage);
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    // 1
+                    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);
+                }
+                detail.setProblemImage(JSONArray.toJSONString(jsonArray));
+            }
+        }
         return R.ok(detail);
     }
+
+
 }

--
Gitblit v1.7.1