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/controller/DeviceRepairController.java | 2 +-
src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java | 17 +++++++++++++++++
src/main/java/com/ruoyi/device/service/IDeviceRepairService.java | 3 +++
3 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index d6aadd1..6933851 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -64,7 +64,7 @@
@DeleteMapping("/{ids}")
@ApiOperation("鍒犻櫎璁惧鎶ヤ慨")
public AjaxResult delete(@PathVariable("ids") Long[] ids) {
- boolean b = deviceRepairService.removeBatchByIds(Arrays.asList(ids));
+ boolean b = deviceRepairService.deleteRepairAndFiles(Arrays.asList(ids));
if (!b) {
return AjaxResult.error("鍒犻櫎澶辫触");
}
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java b/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
index f056fa6..b2774b9 100644
--- a/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
+++ b/src/main/java/com/ruoyi/device/service/IDeviceRepairService.java
@@ -10,6 +10,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
+import java.util.Collection;
import java.util.List;
@@ -31,4 +32,6 @@
void deleteFile(Long fileId);
+ boolean deleteRepairAndFiles(Collection<Long> ids);
+
}
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