From 49e1bc66ebaf696ebd3fc3ed33d65c8795fd3cde Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 01 七月 2025 18:05:12 +0800
Subject: [PATCH] 1.巡检定时任务 2.设备管理 3.文档查询

---
 main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java
index 9075267..4866ff5 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java
@@ -14,7 +14,9 @@
 import com.ruoyi.basic.service.StorageAttachmentService;
 import com.ruoyi.business.dto.ArchiveDto;
 import com.ruoyi.business.entity.Archive;
+import com.ruoyi.business.entity.Tree;
 import com.ruoyi.business.mapper.ArchiveMapper;
+import com.ruoyi.business.mapper.TreeMapper;
 import com.ruoyi.business.service.ArchiveService;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.file.MinioUtils;
@@ -43,6 +45,8 @@
 
     private final ArchiveMapper archiveMapper;
 
+    private final TreeMapper treeMapper;
+
     private final StorageAttachmentService storageAttachmentService;
 
     private final StorageBlobMapper storageBlobMapper;
@@ -53,10 +57,31 @@
 
 
     @Override
-    public IPage<ArchiveDto> selectArchiveList(Page page, ArchiveDto archiveDto) {
+    public IPage<ArchiveDto> selectArchiveList(Page<Archive> page, ArchiveDto archiveDto) {
         // 1. 鍒嗛〉鏌ヨ涓绘暟鎹�
         LambdaQueryWrapper<Archive> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.orderByDesc(Archive::getCreateTime);
+        if (archiveDto.getTreeId() != null) {
+            Long treeId = archiveDto.getTreeId();
+            // 鍒ゆ柇鏄惁涓轰富ID
+            Tree tree = treeMapper.selectById(archiveDto.getTreeId());
+            boolean isMainId = tree != null && tree.getParentId() == null;
+
+            if (isMainId) {
+                // 鑾峰彇涓籌D鐨勬墍鏈夐�掑綊瀛愯妭鐐笽D
+                List<Long> recursiveSubIds = treeMapper.listRecursiveSubNodeIds(treeId);
+
+                // 灏嗕富ID鏈韩鍜屾墍鏈夊瓙鑺傜偣ID鍔犲叆鏌ヨ鏉′欢
+                recursiveSubIds.add(treeId);
+                queryWrapper.in(Archive::getTreeId, recursiveSubIds);
+            } else {
+                // 闈炰富ID锛岀洿鎺ユ寜鍘熸潯浠舵煡璇�
+                queryWrapper.eq(Archive::getTreeId, treeId);
+            }
+        }
+        if (archiveDto.getSearchAll() != null) {
+            queryWrapper.like(Archive::getName, archiveDto.getSearchAll());
+        }
         IPage<Archive> archivePage = archiveMapper.selectPage(page, queryWrapper);
 
         // 2. 鏃犳暟鎹彁鍓嶈繑鍥�
@@ -111,7 +136,7 @@
                     .map(blob -> {
                         StorageBlobDTO blobDTO = new StorageBlobDTO();
                         BeanUtils.copyProperties(blob, blobDTO);
-                   
+
                         // 鍔ㄦ�佺敓鎴愰瑙堝湴鍧�鍜屼笅杞藉湴鍧�
                         // 璁剧疆棰勮URL
                         blobDTO.setUrl(minioUtils.getPreviewUrls(

--
Gitblit v1.9.3