From 98e5d1fa0546922b52e81c419235cf8f0923ba2f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 14 五月 2026 14:36:31 +0800
Subject: [PATCH] feat(seal): 添加用印申请管理的文件上传功能

---
 src/main/java/com/ruoyi/collaborativeApproval/controller/SealApplicationManagementController.java    |   22 ++++++++++++++++++++--
 src/main/java/com/ruoyi/collaborativeApproval/service/impl/SealApplicationManagementServiceImpl.java |    9 ++++++++-
 src/main/java/com/ruoyi/collaborativeApproval/dto/SealApplicationManagementDTO.java                  |    8 ++++++++
 3 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/SealApplicationManagementController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/SealApplicationManagementController.java
index 6a3824d..dc6a64e 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/controller/SealApplicationManagementController.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/SealApplicationManagementController.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.approve.pojo.KnowledgeBase;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
+import com.ruoyi.collaborativeApproval.dto.SealApplicationManagementDTO;
 import com.ruoyi.collaborativeApproval.pojo.SealApplicationManagement;
 import com.ruoyi.collaborativeApproval.service.SealApplicationManagementService;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -27,6 +31,7 @@
 public class SealApplicationManagementController {
     private SealApplicationManagementService sealApplicationManagementService;
     private ISysNoticeService sysNoticeService;
+    private FileUtil fileUtil;
 
     @GetMapping("/getList")
     @Operation(summary = "鍒嗛〉鏌ヨ")
@@ -36,8 +41,13 @@
 
     @PostMapping("/add")
     @Operation(summary = "鏂板")
-    public AjaxResult add(@RequestBody SealApplicationManagement sealApplicationManagement){
+    public AjaxResult add(@RequestBody SealApplicationManagementDTO sealApplicationManagement){
         sealApplicationManagementService.save(sealApplicationManagement);
+        // 5. 淇濆瓨閿�鍞彴璐﹂檮浠�
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE,
+                RecordTypeEnum.SEAL_APPLICATION_MANAGEMENT,
+                sealApplicationManagement.getId(),
+                sealApplicationManagement.getStorageBlobDTOs());
         //娑堟伅閫氱煡
         sysNoticeService.simpleNoticeByUser("鐢ㄥ嵃瀹℃壒",
                 "鐢宠缂栧彿锛�"+sealApplicationManagement.getApplicationNum()+"\t"
@@ -49,7 +59,12 @@
 
     @PostMapping("/update")
     @Operation(summary = "淇敼")
-    public AjaxResult update(@RequestBody SealApplicationManagement sealApplicationManagement){
+    public AjaxResult update(@RequestBody SealApplicationManagementDTO sealApplicationManagement){
+        // 5. 淇濆瓨閿�鍞彴璐﹂檮浠�
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE,
+                RecordTypeEnum.SEAL_APPLICATION_MANAGEMENT,
+                sealApplicationManagement.getId(),
+                sealApplicationManagement.getStorageBlobDTOs());
         return AjaxResult.success(sealApplicationManagementService.updateById(sealApplicationManagement));
     }
 
@@ -59,6 +74,9 @@
         if (CollectionUtils.isEmpty(ids)) {
             throw new RuntimeException("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
+        fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordIds(ApplicationTypeEnum.FILE,
+                RecordTypeEnum.SEAL_APPLICATION_MANAGEMENT,
+                ids);
         return AjaxResult.success(sealApplicationManagementService.removeBatchByIds(ids));
     }
 
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/dto/SealApplicationManagementDTO.java b/src/main/java/com/ruoyi/collaborativeApproval/dto/SealApplicationManagementDTO.java
index 8dc8454..7757490 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/dto/SealApplicationManagementDTO.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/dto/SealApplicationManagementDTO.java
@@ -1,7 +1,11 @@
 package com.ruoyi.collaborativeApproval.dto;
 
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.dto.StorageBlobVO;
 import com.ruoyi.collaborativeApproval.pojo.SealApplicationManagement;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 public class SealApplicationManagementDTO extends SealApplicationManagement {
@@ -11,4 +15,8 @@
 
     //瀹℃壒浜�
     private String approveUserName;
+
+    private List<StorageBlobDTO> storageBlobDTOs;
+    private List<StorageBlobVO> storageBlobVOList;
+
 }
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/SealApplicationManagementServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/SealApplicationManagementServiceImpl.java
index d63f2d2..ba20ae2 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/SealApplicationManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/SealApplicationManagementServiceImpl.java
@@ -3,6 +3,8 @@
 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.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
 import com.ruoyi.collaborativeApproval.dto.SealApplicationManagementDTO;
 import com.ruoyi.collaborativeApproval.mapper.SealApplicationManagementMapper;
 import com.ruoyi.collaborativeApproval.pojo.SealApplicationManagement;
@@ -14,9 +16,14 @@
 @RequiredArgsConstructor
 public class SealApplicationManagementServiceImpl extends ServiceImpl<SealApplicationManagementMapper, SealApplicationManagement> implements SealApplicationManagementService {
     private final SealApplicationManagementMapper sealApplicationManagementMapper;
+    private final FileUtil fileUtil;
 
     @Override
     public IPage<SealApplicationManagementDTO> listPage(Page page, SealApplicationManagement sealApplicationManagement) {
-        return sealApplicationManagementMapper.listPage(page, sealApplicationManagement);
+        IPage<SealApplicationManagementDTO> sealApplicationManagementDTOIPage = sealApplicationManagementMapper.listPage(page, sealApplicationManagement);
+        sealApplicationManagementDTOIPage.getRecords().forEach(item -> {
+            item.setStorageBlobVOList(fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(RecordTypeEnum.SEAL_APPLICATION_MANAGEMENT, item.getId()));
+        });
+        return sealApplicationManagementDTOIPage;
     }
 }

--
Gitblit v1.9.3