From efd594b160a4e35f499eb54ffa0c5b06326cbe1c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 23 四月 2026 11:51:15 +0800
Subject: [PATCH] feat: 删除设备保修时也删除对应的上传附件

---
 src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

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 a78ed3d..064bcce 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
@@ -33,6 +33,7 @@
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
@@ -179,4 +180,20 @@
         }
         commonFileMapper.deleteById(fileId);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteRepairAndFiles(Collection<Long> ids) {
+        if (ids == null || ids.isEmpty()) {
+            throw new ServiceException("鍒犻櫎澶辫触,璇蜂紶鍏ヨ鍒犻櫎鐨勬暟鎹�");
+        }
+
+        List<CommonFile> fileList = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+                .in(CommonFile::getCommonId, ids)
+                .eq(CommonFile::getType, FileNameType.EQUIPMENT_WARRANTY.getValue()));
+        for (CommonFile commonFile : fileList) {
+            deleteFile(commonFile.getId());
+        }
+        return this.removeBatchByIds(ids);
+    }
 }

--
Gitblit v1.9.3