From edc65cbcc66f07ba86b9c9806475b6af695d782f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 23 四月 2026 09:50:16 +0800
Subject: [PATCH] feat: 设备保修新增文件上传

---
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java |   66 +++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 44021a9..d6aadd1 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -3,54 +3,66 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.device.dto.DeviceRepairDto;
-import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.device.service.IDeviceLedgerService;
 import com.ruoyi.device.service.IDeviceRepairService;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.pojo.CommonFile;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 @Api(tags = "璁惧鎶ヤ慨绠$悊")
-@RequestMapping("/device/reppair")
+@RequestMapping("/device/repair")
 @RestController
 public class DeviceRepairController {
 
     @Autowired
     private IDeviceRepairService deviceRepairService;
 
-    @ApiModelProperty("璁惧鎶ヤ慨鍒楄〃")
+    @Autowired
+    private IDeviceLedgerService deviceLedgerService;
+
+    @ApiOperation("璁惧鎶ヤ慨鍒楄〃")
     @GetMapping("/page")
-    public AjaxResult page(Page page , DeviceRepairDto deviceRepairDto) {
-        return AjaxResult.success(deviceRepairService.queryPage(page,deviceRepairDto));
+    public AjaxResult page(Page page, DeviceRepairDto deviceRepairDto) {
+        return AjaxResult.success(deviceRepairService.queryPage(page, deviceRepairDto));
     }
 
     @PostMapping()
-    @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
-    public AjaxResult add( @RequestBody DeviceRepair deviceRepair) {
+    @ApiOperation("娣诲姞璁惧鎶ヤ慨")
+    public AjaxResult add(@RequestBody DeviceRepair deviceRepair) {
         return deviceRepairService.saveDeviceRepair(deviceRepair);
     }
 
-    @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
+    @ApiOperation("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
     @GetMapping("/{id}")
     public AjaxResult detail(@PathVariable Long id) {
-        return AjaxResult.success(deviceRepairService.getById(id));
+        DeviceRepairDto byId = deviceRepairService.detailById(id);
+        return AjaxResult.success(byId);
     }
 
-    @PutMapping ()
-    @ApiModelProperty("淇敼璁惧鎶ヤ慨")
-    public AjaxResult update( @RequestBody DeviceRepair deviceRepair) {
+    @PutMapping()
+    @ApiOperation("淇敼璁惧鎶ヤ慨")
+    public AjaxResult update(@RequestBody DeviceRepair deviceRepair) {
+        return deviceRepairService.updateDeviceRepair(deviceRepair);
+    }
+
+    @PostMapping("repair")
+    @ApiOperation("璁惧缁翠慨")
+    public AjaxResult repair(@RequestBody DeviceRepair deviceRepair) {
         return deviceRepairService.updateDeviceRepair(deviceRepair);
     }
 
     @DeleteMapping("/{ids}")
-    @ApiModelProperty("鍒犻櫎璁惧鎶ヤ慨")
+    @ApiOperation("鍒犻櫎璁惧鎶ヤ慨")
     public AjaxResult delete(@PathVariable("ids") Long[] ids) {
         boolean b = deviceRepairService.removeBatchByIds(Arrays.asList(ids));
         if (!b) {
@@ -60,8 +72,30 @@
     }
 
     @PostMapping("export")
-    @ApiModelProperty("瀵煎嚭璁惧鎶ヤ慨")
+    @ApiOperation("瀵煎嚭璁惧鎶ヤ慨")
     public void export(HttpServletResponse response, Long[] ids) {
         deviceRepairService.export(response, ids);
     }
+
+    @PostMapping("/uploadFile")
+    @ApiOperation("璁惧淇濅慨-闄勪欢涓婁紶")
+    public AjaxResult uploadFile(MultipartFile file, Long deviceRepairId) {
+        deviceRepairService.uploadFile(file, deviceRepairId);
+        return AjaxResult.success();
+    }
+
+    @GetMapping("/file/{deviceRepairId}")
+    @ApiOperation("璁惧淇濅慨-鏂囦欢鍒楄〃")
+    public AjaxResult getFiles(@PathVariable("deviceRepairId") Long deviceRepairId) {
+        List<CommonFile> list = deviceRepairService.getFiles(deviceRepairId);
+        return AjaxResult.success(list);
+    }
+
+    @DeleteMapping("/file/{fileId}")
+    @ApiOperation("璁惧淇濅慨-鍒犻櫎鏂囦欢")
+    public AjaxResult deleteFile(@PathVariable("fileId") Long fileId) {
+        deviceRepairService.deleteFile(fileId);
+        return AjaxResult.success();
+    }
+
 }

--
Gitblit v1.9.3