From f818fa5eca223270f0656e0455c338ec1f2fac88 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 10:04:49 +0800
Subject: [PATCH] ``` refactor(knowledge-base): 重构RAG向量检索功能的文件关联和异步处理

---
 src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java
index 6d7ba9c..62a8d83 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
+import com.ruoyi.collaborativeApproval.dto.RulesRegulationsManagementDTO;
 import com.ruoyi.collaborativeApproval.mapper.ReadingStatusMapper;
 import com.ruoyi.collaborativeApproval.pojo.ReadingStatus;
 import com.ruoyi.collaborativeApproval.pojo.RulesRegulationsManagement;
@@ -9,10 +13,11 @@
 import com.ruoyi.collaborativeApproval.service.RulesRegulationsManagementService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,32 +27,46 @@
 @RestController
 @RequestMapping("/rulesRegulationsManagement")
 @AllArgsConstructor
-@Api(tags = "鍒跺害绠$悊")
+@Tag(name = "鍒跺害绠$悊")
 public class RulesRegulationsManagementController {
     private RulesRegulationsManagementService rulesRegulationsManagementService;
     private ReadingStatusMapper readingStatusMapper;
+    private FileUtil fileUtil;
 
     @GetMapping("/getList")
-    @ApiOperation("鍒嗛〉鏌ヨ")
+    @Operation(summary = "鍒嗛〉鏌ヨ")
     public AjaxResult listPage(Page page, RulesRegulationsManagement rulesRegulationsManagement){
         return AjaxResult.success(rulesRegulationsManagementService.listPage(page, rulesRegulationsManagement));
     }
 
     @PostMapping("/add")
-    @ApiOperation("鏂板")
-    public AjaxResult add(@RequestBody RulesRegulationsManagement rulesRegulationsManagement){
+    @Operation(summary = "鏂板")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult add(@RequestBody RulesRegulationsManagementDTO rulesRegulationsManagement){
         rulesRegulationsManagementService.save(rulesRegulationsManagement);
+        // 淇濆瓨闄勪欢
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE,
+                RecordTypeEnum.RULES_REGULATIONS_MANAGEMENT,
+                rulesRegulationsManagement.getId(),
+                rulesRegulationsManagement.getStorageBlobDTOs());
         return AjaxResult.success(rulesRegulationsManagement.getId());
     }
 
     @PostMapping("/update")
-    @ApiOperation("淇敼")
-    public AjaxResult update(@RequestBody RulesRegulationsManagement rulesRegulationsManagement){
-        return AjaxResult.success(rulesRegulationsManagementService.updateById(rulesRegulationsManagement));
+    @Operation(summary = "淇敼")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult update(@RequestBody RulesRegulationsManagementDTO rulesRegulationsManagement){
+        rulesRegulationsManagementService.updateById(rulesRegulationsManagement);
+        // 淇濆瓨闄勪欢
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE,
+                RecordTypeEnum.RULES_REGULATIONS_MANAGEMENT,
+                rulesRegulationsManagement.getId(),
+                rulesRegulationsManagement.getStorageBlobDTOs());
+        return AjaxResult.success(rulesRegulationsManagement.getId());
     }
 
     @DeleteMapping("/delete")
-    @ApiOperation("鍒犻櫎")
+    @Operation(summary = "鍒犻櫎")
     public AjaxResult delete(@PathVariable("ids") List<Long> ids){
         if (CollectionUtils.isEmpty(ids)) {
             throw new RuntimeException("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
@@ -56,27 +75,27 @@
     }
     //瑙勫垯鏌ョ湅鏃舵柊澧為槄璇荤姸鎬�
     @PostMapping("/addReadingStatus")
-    @ApiOperation("鏂板闃呰鐘舵��")
+    @Operation(summary = "鏂板闃呰鐘舵��")
     public AjaxResult addReadingStatus(@RequestBody ReadingStatus readingStatus){
         return AjaxResult.success(readingStatusMapper.insert(readingStatus));
     }
     @PostMapping("/updateReadingStatus")
-    @ApiOperation("淇敼闃呰鐘舵��")
+    @Operation(summary = "淇敼闃呰鐘舵��")
     public AjaxResult updateReadingStatus(@RequestBody ReadingStatus readingStatus){
         return AjaxResult.success(readingStatusMapper.updateById(readingStatus));
     }
     @GetMapping("/getReadingStatusList")
-    @ApiOperation("鍒嗛〉鏌ヨ闃呰鐘舵��")
+    @Operation(summary = "鍒嗛〉鏌ヨ闃呰鐘舵��")
     public AjaxResult listPage(Page page, ReadingStatus readingStatus){
         return AjaxResult.success(readingStatusMapper.selectPage(page,new QueryWrapper<ReadingStatus>(readingStatus)));
     }
     @GetMapping("/getReadingStatusByRuleId/{ruleId}")
-    @ApiOperation("鏍规嵁鍒跺害id鏌ヨ闃呰鐘舵��")
+    @Operation(summary = "鏍规嵁鍒跺害id鏌ヨ闃呰鐘舵��")
     public AjaxResult getReadingStatusByRuleId(@PathVariable Long ruleId){
         return AjaxResult.success(readingStatusMapper.selectList(new QueryWrapper<ReadingStatus>().eq("rule_id", ruleId)));
     }
 
-    @ApiOperation(value = "瑙勭珷鍒跺害绠$悊瀵煎嚭")
+    @Operation(summary = "瑙勭珷鍒跺害绠$悊瀵煎嚭")
     @PostMapping("/export")
     public void export(HttpServletResponse response) {
         List<RulesRegulationsManagement> accountExpenses = rulesRegulationsManagementService.list();

--
Gitblit v1.9.3