From eb832a81fb17402b1dded01459a01d7d99f16262 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 14:43:25 +0800
Subject: [PATCH] refactor(ai): 重构 Pinecone 向量存储配置和服务实现

---
 src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java |   53 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/RulesRegulationsManagementController.java
index cf4c2fe..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,47 +13,60 @@
 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.*;
 
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 import java.util.List;
 
 @RestController
 @RequestMapping("/rulesRegulationsManagement")
 @AllArgsConstructor
-@Api(tags = "鍒跺害绠$悊")
+@Tag(name = "鍒跺害绠$悊")
 public class RulesRegulationsManagementController {
-    @Autowired
     private RulesRegulationsManagementService rulesRegulationsManagementService;
-    @Autowired
     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");
@@ -58,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