From 4b9dc71d162f3fcd79bc88b170154b7516fc4962 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 18 十二月 2025 13:37:14 +0800
Subject: [PATCH] 新增设备维修保养过程描述,上传对应附件

---
 src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java  |   37 +++++
 src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java         |    4 
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java         |   11 -
 src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java         |    4 
 src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java      |   35 ++++-
 src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java           |    7 +
 src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java                  |   60 +--------
 src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java                       |   69 +----------
 src/main/java/com/ruoyi/device/service/IDeviceRepairService.java              |    4 
 src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java |   30 ++++
 src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java    |   13 -
 src/main/java/com/ruoyi/project/common/CommonController.java                  |   36 ++---
 12 files changed, 137 insertions(+), 173 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java b/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
index de2c096..5cbfb01 100644
--- a/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
+++ b/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
@@ -1,6 +1,7 @@
 package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.dto.StorageBlobDTO;
 import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.common.constant.StorageAttachmentConstants;
 import com.ruoyi.common.enums.StorageAttachmentRecordType;
@@ -23,7 +24,7 @@
      * @param fileType 鏂囦欢绫诲瀷
      * @return 鏂囦欢淇℃伅鍒楄〃
      */
-    List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType);
+    List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType);
 
     /**
      * 淇濆瓨閫氱敤鏂囦欢涓婁紶鐨勯檮浠朵俊鎭�
@@ -34,6 +35,8 @@
      */
     public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType);
 
+    public void saveStorageAttachmentByStorageBlob(List<StorageBlobDTO> storageBlobs, Long recordId, StorageAttachmentRecordType recordType, String fileType);
+
     public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, String fileType);
 
 
@@ -43,4 +46,6 @@
      * @return 鍒犻櫎缁撴灉
      */
     public int deleteStorageAttachment(StorageAttachment storageAttachment);
+
+    public int deleteStorageAttachmentAndBlob(StorageAttachment storageAttachment);
 }
diff --git a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
index 0d126c7..c405285 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -3,9 +3,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.dto.StorageBlobDTO;
-import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.basic.mapper.StorageAttachmentMapper;
 import com.ruoyi.basic.mapper.StorageBlobMapper;
+import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.basic.pojo.StorageBlob;
 import com.ruoyi.basic.service.StorageAttachmentService;
 import com.ruoyi.basic.service.StorageBlobService;
@@ -43,17 +43,17 @@
     private MinioUtils minioUtils;
 
     @Override
-    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
+    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) {
         List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
                 .eq(StorageAttachment::getRecordId, recordId)
                 .eq(StorageAttachment::getRecordType, recordType.ordinal())
-                .eq(StorageAttachment::getName, fileType.toString()));
+                .eq(StorageAttachment::getName, fileType));
         if (storageAttachments != null) {
             for (StorageAttachment storageAttachment : storageAttachments) {
                 StorageBlob storageBlob = storageBlobMapper.selectById(storageAttachment.getStorageBlobId());
                 StorageBlobDTO storageBlobDTO = new StorageBlobDTO();
                 BeanUtils.copyProperties(storageBlob, storageBlobDTO);
-                storageBlobDTO.setUrl(minioUtils.getPreviewUrl(storageBlob.getBucketName(), storageBlob.getBucketName(), true));
+                storageBlobDTO.setUrl(minioUtils.getPreviewUrl(storageBlob.getBucketFilename(), storageBlob.getBucketName(), true));
                 storageAttachment.setStorageBlobDTO(storageBlobDTO);
             }
         }
@@ -74,7 +74,26 @@
             attachment.setStorageBlobId(storageBlob.getId());
             storageAttachmentMapper.insert(attachment);
         }
+    }
 
+    @Override
+    public void saveStorageAttachmentByStorageBlob(List<StorageBlobDTO> storageBlobs, Long recordId, StorageAttachmentRecordType recordType, String fileType) {
+        // 鍒犻櫎鏃у浘
+        deleteStorageAttachment(new StorageAttachment(fileType, (long) recordType.ordinal(), recordId));
+        for (StorageBlobDTO storageBlobDTO : storageBlobs) {
+            StorageAttachment attachment = new StorageAttachment(
+                    fileType,
+                    (long) recordType.ordinal(),
+                    recordId
+            );
+            attachment.setStorageBlobDTO(storageBlobDTO);
+            // 缁戝畾鍏宠仈璁板綍
+            attachment.setName(fileType);
+            attachment.setRecordType((long) recordType.ordinal());
+            attachment.setRecordId(recordId);
+            attachment.setStorageBlobId(storageBlobDTO.getId());
+            storageAttachmentMapper.insert(attachment);
+        }
     }
 
     @Override
@@ -96,8 +115,16 @@
     @Override
     public int deleteStorageAttachment(StorageAttachment storageAttachment) {
         // 鍏堝垹闄ゆ槑缁嗚〃
-        storageBlobService.deleteStorageBlobs(storageAttachment);
+        return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
+                .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())
+                .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType())
+                .eq(StorageAttachment::getName, storageAttachment.getName()));
+    }
 
+    @Override
+    public int deleteStorageAttachmentAndBlob(StorageAttachment storageAttachment) {
+        // 鍏堝垹闄ゆ槑缁嗚〃
+        storageBlobService.deleteStorageBlobs(storageAttachment);
 
         return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
                 .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())
diff --git a/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java b/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
index a4b889d..6194062 100644
--- a/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
+++ b/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java
@@ -12,7 +12,9 @@
     Template("Template","鑼冧緥"),
     Archives("Archives","鏂囨。绠$悊"),
     InspectionTasks("InspectionTasks","鐢熶骇宸℃"),
-    QrCodeScanRecords("QrCodeScanRecords","浜岀淮鐮佹壂鐮佽褰曟枃浠�");
+    QrCodeScanRecords("QrCodeScanRecords","浜岀淮鐮佹壂鐮佽褰曟枃浠�"),
+    DeviceRepairImage("DeviceRepairImage","璁惧鎶ヤ慨鍥剧墖"),
+    DeviceMaintenanceImage("DeviceMaintenanceImage","璁惧淇濆吇鍥剧墖");
 
 
     private final String code;
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
index 37ce27d..71fd2ce 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
@@ -3,13 +3,9 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.device.dto.DeviceMaintenanceDto;
-import com.ruoyi.device.dto.DeviceRepairDto;
 import com.ruoyi.device.pojo.DeviceLedger;
-import com.ruoyi.device.pojo.DeviceMaintenance;
-import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.device.service.IDeviceLedgerService;
 import com.ruoyi.device.service.IDeviceMaintenanceService;
-import com.ruoyi.device.service.IDeviceRepairService;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
@@ -17,7 +13,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
 import java.util.Arrays;
 
 @Api(tags = "璁惧淇濆吇")
@@ -40,7 +35,7 @@
 
     @PostMapping()
     @ApiModelProperty("娣诲姞璁惧淇濆吇")
-    public AjaxResult add(@RequestBody DeviceMaintenance deviceMaintenance) {
+    public AjaxResult add(@RequestBody DeviceMaintenanceDto deviceMaintenance) {
         DeviceLedger byId = deviceLedgerService.getById(deviceMaintenance.getDeviceLedgerId());
         deviceMaintenance.setDeviceName(byId.getDeviceName());
         deviceMaintenance.setDeviceModel(byId.getDeviceModel());
@@ -55,7 +50,7 @@
 
     @PutMapping ()
     @ApiModelProperty("淇敼璁惧淇濆吇")
-    public AjaxResult update(@RequestBody DeviceMaintenance deviceMaintenance) {
+    public AjaxResult update(@RequestBody DeviceMaintenanceDto deviceMaintenance) {
         DeviceLedger byId = deviceLedgerService.getById(deviceMaintenance.getDeviceLedgerId());
         deviceMaintenance.setDeviceName(byId.getDeviceName());
         deviceMaintenance.setDeviceModel(byId.getDeviceModel());
@@ -64,8 +59,10 @@
 
     @PostMapping ("maintenance")
     @ApiModelProperty("淇敼璁惧淇濆吇")
-    public AjaxResult maintenance(@RequestBody DeviceMaintenance deviceMaintenance) {
+    public AjaxResult maintenance(@RequestBody DeviceMaintenanceDto deviceMaintenance) {
+        DeviceMaintenanceDto byId = deviceMaintenanceService.detailById(deviceMaintenance.getId());
         deviceMaintenance.setStatus(1);
+        deviceMaintenance.setFiles(byId.getFiles());
         return deviceMaintenanceService.updateDeviceDeviceMaintenance(deviceMaintenance);
     }
 
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 5c3dd58..e02e223 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -3,8 +3,6 @@
 
 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;
@@ -14,7 +12,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
 import java.util.Arrays;
 
 @Api(tags = "璁惧鎶ヤ慨绠$悊")
@@ -36,7 +33,7 @@
 
     @PostMapping()
     @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
-    public AjaxResult add( @RequestBody DeviceRepair deviceRepair) {
+    public AjaxResult add( @RequestBody DeviceRepairDto deviceRepair) {
         return deviceRepairService.saveDeviceRepair(deviceRepair);
     }
 
@@ -49,14 +46,16 @@
 
     @PutMapping ()
     @ApiModelProperty("淇敼璁惧鎶ヤ慨")
-    public AjaxResult update( @RequestBody DeviceRepair deviceRepair) {
+    public AjaxResult update( @RequestBody DeviceRepairDto deviceRepair) {
         return deviceRepairService.updateDeviceRepair(deviceRepair);
     }
 
     @PostMapping ("repair")
     @ApiModelProperty("璁惧缁翠慨")
-    public AjaxResult repair( @RequestBody DeviceRepair deviceRepair) {
+    public AjaxResult repair( @RequestBody DeviceRepairDto deviceRepair) {
+        DeviceRepairDto deviceRepairDto = deviceRepairService.detailById(deviceRepair.getId());
         deviceRepair.setStatus(1);
+        deviceRepair.setFiles(deviceRepairDto.getFiles());
         return deviceRepairService.updateDeviceRepair(deviceRepair);
     }
 
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
index b10f1e9..1c64da2 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
@@ -1,73 +1,27 @@
 package com.ruoyi.device.dto;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.device.pojo.DeviceMaintenance;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDateTime;
+import java.util.List;
 
 @Data
-public class DeviceMaintenanceDto {
-
-
-    @ApiModelProperty("璁惧淇濆吇id")
-
-    private Long id;
-
-    @ApiModelProperty("璁惧鍙拌处id")
-    private Long deviceLedgerId;
-
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String deviceName;
-
-    @ApiModelProperty("瑙勬牸鍨嬪彿")
-    private String deviceModel;
+public class DeviceMaintenanceDto extends DeviceMaintenance {
 
     @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
     private String maintenancePlanTimeReq;
-
-    @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
-    private LocalDateTime maintenancePlanTime;
 
     @ApiModelProperty("瀹為檯淇濆吇浜�")
     private String maintenanceActuallyName;
 
     @ApiModelProperty("瀹為檯淇濆吇鏃ユ湡")
-    private LocalDateTime maintenanceActuallyTime;
-
-    @ApiModelProperty("瀹為檯淇濆吇鏃ユ湡")
     private String maintenanceActuallyTimeReq;
-
-    @ApiModelProperty("淇濆吇缁撴灉 0 缁翠慨 1 瀹屽ソ")
-    private Integer maintenanceResult;
-
-    @ApiModelProperty("鐘舵�� 0 寰呬繚鍏� 1 瀹岀粨")
-    private Integer status;
-
-    @ApiModelProperty("鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    @ApiModelProperty("鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.UPDATE)
-    private LocalDateTime updateTime;
-
-    @ApiModelProperty("鍒涘缓浜�")
-    @TableField(fill = FieldFill.INSERT)
-    private String createUser;
-
-    @ApiModelProperty("鏇存柊浜�")
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateUser;
-
-    @ApiModelProperty("绉熸埛id")
-    @TableField(fill = FieldFill.INSERT)
-    private Long tenantId;
-
-    @ApiModelProperty("鍒涘缓浜哄悕绉�")
-    private String createUserName;
 
     @ApiModelProperty("淇濆吇杩涘害鎻忚堪")
     private String maintenanceProcessDesc;
+
+    @ApiModelProperty("璁惧鍥剧墖")
+    private List<StorageBlobDTO> files;
 }
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
index 507c395..cdc89eb 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
@@ -1,76 +1,21 @@
 package com.ruoyi.device.dto;
 
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.device.pojo.DeviceRepair;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDateTime;
-import java.util.Date;
+import java.util.List;
 
 @Data
-public class DeviceRepairDto {
+public class DeviceRepairDto extends DeviceRepair {
 
-    @ApiModelProperty("璁惧鎶ヤ慨id")
-    private Long id;
+    @ApiModelProperty("璁惧鍥剧墖")
+    private List<StorageBlobDTO> files;
 
-    @ApiModelProperty("璁惧鍙拌处id")
-    private Long deviceLedgerId;
-
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String deviceName;
-
-    @ApiModelProperty("璁惧鍨嬪彿")
-    private String deviceModel;
-
-    @ApiModelProperty("鎶ヤ慨鏃堕棿")
-    private Date repairTime;
-    
     private String repairTimeStr;
-
-    @ApiModelProperty("鎶ヤ慨浜�")
-    private String repairName;
-
-    @ApiModelProperty("鎶ヤ慨鍐呭")
-    private String remark;
-
-    @ApiModelProperty("缁翠慨浜�")
-    private String maintenanceName;
-
-    @ApiModelProperty("缁翠慨鏃堕棿")
-    private Date maintenanceTime;
-
-    private String maintenanceTimeStr;
-
-    @ApiModelProperty("缁翠慨缁撴灉")
-    private String maintenanceResult;
-
-    @ApiModelProperty("鐘舵��")
-    private Integer status;
-
-    @ApiModelProperty("鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    @ApiModelProperty("鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.UPDATE)
-    private LocalDateTime updateTime;
-
-    @ApiModelProperty("鍒涘缓浜�")
-    @TableField(fill = FieldFill.INSERT)
-    private String createUser;
-
-    @ApiModelProperty("鏇存柊浜�")
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateUser;
-
-    @ApiModelProperty("绉熸埛id")
-    @TableField(fill = FieldFill.INSERT)
-    private Long tenantId;
-
-    @ApiModelProperty("淇濆吇杩涘害鎻忚堪")
-    private String maintenanceProcessDesc;
+    private String maintenanceTimeStr ;
 
 }
 
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java b/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
index 82db913..77fc6b7 100644
--- a/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
+++ b/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
@@ -13,9 +13,9 @@
 
     IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto);
 
-    AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance);
+    AjaxResult saveDeviceRepair(DeviceMaintenanceDto deviceMaintenance);
 
-    AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenance deviceMaintenance);
+    AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenanceDto deviceMaintenance);
 
     void export(HttpServletResponse response, Long[] ids);
 
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java b/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
index 5877ffd..a27c032 100644
--- a/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
+++ b/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
@@ -14,9 +14,9 @@
 
     IPage<DeviceRepairDto> queryPage(Page page, DeviceRepairDto deviceRepairDto);
 
-    AjaxResult saveDeviceRepair(DeviceRepair deviceRepair);
+    AjaxResult saveDeviceRepair(DeviceRepairDto deviceRepair);
 
-    AjaxResult updateDeviceRepair(DeviceRepair deviceRepair);
+    AjaxResult updateDeviceRepair(DeviceRepairDto deviceRepair);
 
     void export(HttpServletResponse response, Long[] ids);
 
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
index 011d32b..06b8c1d 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
@@ -4,6 +4,11 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.service.StorageAttachmentService;
+import com.ruoyi.common.constant.StorageAttachmentConstants;
+import com.ruoyi.common.enums.StorageAttachmentRecordType;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.dto.DeviceMaintenanceDto;
@@ -12,13 +17,14 @@
 import com.ruoyi.device.pojo.DeviceMaintenance;
 import com.ruoyi.device.service.IDeviceMaintenanceService;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -28,6 +34,8 @@
 
     @Autowired
     private DeviceMaintenanceMapper deviceMaintenanceMapper;
+    @Autowired
+    private StorageAttachmentService storageAttachmentService;
 
     @Override
     public IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto) {
@@ -36,8 +44,11 @@
     }
 
     @Override
-    public AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance) {
+    public AjaxResult saveDeviceRepair(DeviceMaintenanceDto deviceMaintenance) {
         boolean save = this.save(deviceMaintenance);
+        storageAttachmentService.saveStorageAttachmentByStorageBlob(deviceMaintenance.getFiles(),
+                deviceMaintenance.getId(), StorageAttachmentRecordType.DeviceMaintenanceImage,
+                StorageAttachmentConstants.StorageAttachmentImage);
         if (save){
             return AjaxResult.success();
         }
@@ -45,8 +56,11 @@
     }
 
     @Override
-    public AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenance deviceMaintenance) {
+    public AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenanceDto deviceMaintenance) {
         if (this.updateById(deviceMaintenance)) {
+            storageAttachmentService.saveStorageAttachmentByStorageBlob(deviceMaintenance.getFiles(),
+                    deviceMaintenance.getId(), StorageAttachmentRecordType.DeviceMaintenanceImage,
+                    StorageAttachmentConstants.StorageAttachmentImage);
             return AjaxResult.success();
         }
         return AjaxResult.error();
@@ -70,7 +84,13 @@
 
     @Override
     public DeviceMaintenanceDto detailById(Long id) {
-
-        return deviceMaintenanceMapper.detailById(id);
+        DeviceMaintenanceDto deviceMaintenanceDto = deviceMaintenanceMapper.detailById(id);
+        List<StorageAttachment> storageAttachments = storageAttachmentService.selectStorageAttachments(id, StorageAttachmentRecordType.DeviceMaintenanceImage,
+                StorageAttachmentConstants.StorageAttachmentImage);
+        if (CollectionUtils.isNotEmpty(storageAttachments)) {
+            List<StorageBlobDTO> storageBlobs = storageAttachments.stream().map(StorageAttachment::getStorageBlobDTO).collect(Collectors.toList());
+            deviceMaintenanceDto.setFiles(storageBlobs);
+        }
+        return deviceMaintenanceDto;
     }
 }
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
index 1f09d07..e9fddfb 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
@@ -3,14 +3,17 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.service.StorageAttachmentService;
+import com.ruoyi.common.constant.StorageAttachmentConstants;
+import com.ruoyi.common.enums.StorageAttachmentRecordType;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.dto.DeviceDefectRecordDto;
 import com.ruoyi.device.dto.DeviceRepairDto;
 import com.ruoyi.device.execl.DeviceRepairExeclDto;
-import com.ruoyi.device.mapper.DeviceDefectRecordMapper;
 import com.ruoyi.device.mapper.DeviceRepairMapper;
-import com.ruoyi.device.pojo.DeviceDefectRecord;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.device.service.DeviceDefectRecordService;
@@ -19,6 +22,7 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +30,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @AllArgsConstructor
@@ -38,6 +43,8 @@
     private DeviceRepairMapper deviceRepairMapper;
     @Autowired
     private IDeviceLedgerService deviceLedgerService;
+    @Autowired
+    private StorageAttachmentService storageAttachmentService;
     @Override
     public IPage<DeviceRepairDto> queryPage(Page page, DeviceRepairDto deviceRepairDto) {
 
@@ -45,19 +52,22 @@
     }
 
     @Override
-    public AjaxResult saveDeviceRepair(DeviceRepair deviceRepair) {
+    public AjaxResult saveDeviceRepair(DeviceRepairDto deviceRepair) {
         DeviceLedger byId = deviceLedgerService.getById(deviceRepair.getDeviceLedgerId());
         deviceRepair.setDeviceName(byId.getDeviceName());
         deviceRepair.setDeviceModel(byId.getDeviceModel());
-        boolean save = this.save(deviceRepair);
-        if (save){
+        int save = deviceRepairMapper.insert(deviceRepair);
+        storageAttachmentService.saveStorageAttachmentByStorageBlob(deviceRepair.getFiles(),
+                deviceRepair.getId(), StorageAttachmentRecordType.DeviceRepairImage,
+                StorageAttachmentConstants.StorageAttachmentImage);
+        if (save == 1){
             return AjaxResult.success();
         }
         return AjaxResult.error();
     }
 
     @Override
-    public AjaxResult updateDeviceRepair(DeviceRepair deviceRepair) {
+    public AjaxResult updateDeviceRepair(DeviceRepairDto deviceRepair) {
         if (this.updateById(deviceRepair)) {
             Long id = deviceRepair.getId();
             //
@@ -71,6 +81,9 @@
                     deviceDefectRecordService.updateByDDR(deviceDefectRecord);
                 });
             }
+            storageAttachmentService.saveStorageAttachmentByStorageBlob(deviceRepair.getFiles(),
+                    deviceRepair.getId(), StorageAttachmentRecordType.DeviceRepairImage,
+                    StorageAttachmentConstants.StorageAttachmentImage);
             return AjaxResult.success();
         }
         return AjaxResult.error();
@@ -112,8 +125,14 @@
 
     @Override
     public DeviceRepairDto detailById(Long id) {
-
-        return deviceRepairMapper.detailById(id);
+        DeviceRepairDto deviceRepairDto = deviceRepairMapper.detailById(id);
+        List<StorageAttachment> storageAttachments = storageAttachmentService.selectStorageAttachments(id, StorageAttachmentRecordType.DeviceRepairImage,
+                StorageAttachmentConstants.StorageAttachmentImage);
+        if (CollectionUtils.isNotEmpty(storageAttachments)) {
+            List<StorageBlobDTO> storageBlobs = storageAttachments.stream().map(StorageAttachment::getStorageBlobDTO).collect(Collectors.toList());
+            deviceRepairDto.setFiles(storageBlobs);
+        }
+        return deviceRepairDto;
     }
 
 }
diff --git a/src/main/java/com/ruoyi/project/common/CommonController.java b/src/main/java/com/ruoyi/project/common/CommonController.java
index 21fa5ec..67cbc0b 100644
--- a/src/main/java/com/ruoyi/project/common/CommonController.java
+++ b/src/main/java/com/ruoyi/project/common/CommonController.java
@@ -1,24 +1,6 @@
 package com.ruoyi.project.common;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 import com.ruoyi.basic.service.StorageBlobService;
-import com.ruoyi.framework.web.domain.R;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
@@ -26,6 +8,20 @@
 import com.ruoyi.framework.config.RuoYiConfig;
 import com.ruoyi.framework.config.ServerConfig;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * 閫氱敤璇锋眰澶勭悊
@@ -84,9 +80,9 @@
      */
     @PostMapping("/minioUploads")
     @ApiOperation(value = "minio閫氱敤涓婁紶璇锋眰")
-    public AjaxResult minioUploadFiles(List<MultipartFile> files, String bucketName, Long type) throws Exception
+    public AjaxResult minioUploadFiles(@RequestParam("file") MultipartFile file, @RequestParam("bucketName") String bucketName, @RequestParam("type") Long type) throws Exception
     {
-        return AjaxResult.success(storageBlobService.updateStorageBlobs(files, bucketName,type));
+        return AjaxResult.success(storageBlobService.updateStorageBlobs(new ArrayList<>(Arrays.asList(file)), bucketName,type));
     }
 
     /**

--
Gitblit v1.9.3