From e93149b53465b1716211ff444a4ce604baf2c0a8 Mon Sep 17 00:00:00 2001 From: wanghu Date: Mon, 21 Sep 2026 17:25:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yunhai/dormnotice/service/IFileService.java | 9 +++++++++ .../yunhai/dormnotice/service/impl/FileService.java | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/com/yunhai/dormnotice/service/IFileService.java b/src/main/java/com/yunhai/dormnotice/service/IFileService.java index fd76136..25f0ce1 100644 --- a/src/main/java/com/yunhai/dormnotice/service/IFileService.java +++ b/src/main/java/com/yunhai/dormnotice/service/IFileService.java @@ -82,6 +82,15 @@ public interface IFileService { */ void downloadZipByTopic(String topicType, Integer topicId, String zipName, HttpServletResponse response); + /** + * 按附件记录ID列表打包下载为 ZIP。 + * + * @param fileIds 附件记录ID列表 + * @param zipName 压缩包显示名(自动追加 .zip) + * @param response HTTP 响应 + */ + void downloadZipByIds(List fileIds, String zipName, HttpServletResponse response); + /** * 批量上传图片(循环上传,返回每个文件的视图对象列表)。 */ diff --git a/src/main/java/com/yunhai/dormnotice/service/impl/FileService.java b/src/main/java/com/yunhai/dormnotice/service/impl/FileService.java index 72de411..243d8ba 100644 --- a/src/main/java/com/yunhai/dormnotice/service/impl/FileService.java +++ b/src/main/java/com/yunhai/dormnotice/service/impl/FileService.java @@ -268,6 +268,16 @@ public class FileService implements IFileService { downloadZip(files, zipName, response); } + // ============================ 按附件ID列表打包下载 ============================ + + @Override + public void downloadZipByIds(List fileIds, String zipName, HttpServletResponse response) { + List files = fileIds == null || fileIds.isEmpty() + ? Collections.emptyList() + : upFileRepository.findAllById(fileIds); + downloadZip(files, zipName, response); + } + // ============================ 批量上传图片 ============================ @Override