From 8c627df4abacbe7397d0c1831f1a71c62ebe15b2 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 15 十月 2025 10:45:33 +0800
Subject: [PATCH] yys 1.随机排产
---
main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 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 d0638f9..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(
@@ -137,6 +162,7 @@
// 7. 鏋勫缓杩斿洖鍒嗛〉瀵硅薄
IPage<ArchiveDto> resultPage = new Page<>();
+ BeanUtils.copyProperties(archivePage, resultPage);
resultPage.setRecords(dtoList);
return resultPage;
}
--
Gitblit v1.9.3