From 08310e16062cf46ea6882f6b3a9b969d6b8664f7 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 16 Apr 2025 14:58:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=94=B6=E8=97=8F=E8=A1=A8=E5=8F=8A=E7=9B=B8=E5=BA=94=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/pojo/models/EdFileFavorite.java | 19 ++++++- .../manage/service/EdFileFavoriteService.java | 9 ++++ .../EdFileFavoriteServiceImpl.java | 19 +++++++ .../serviceimpl/EdFileInfoServiceImpl.java | 49 ++++++++++++------- electromagnetic-common/pom.xml | 4 +- 5 files changed, 79 insertions(+), 21 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileFavorite.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileFavorite.java index 4ac9077..db67506 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileFavorite.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileFavorite.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; +import com.electromagnetic.industry.software.common.util.EleCommonUtil; +import com.electromagnetic.industry.software.common.util.IdWorker; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; import lombok.Data; +import java.util.Date; + @Data @TableName("ed_file_favorite") -public class EdFileFavorite { +public class EdFileFavorite extends BaseModel{ @TableId(type = IdType.ASSIGN_UUID) private String id; @@ -19,4 +25,15 @@ public class EdFileFavorite { @TableField("file_id") private String fileId; + public void newInit() { + String userId = UserThreadLocal.getUserId(); + String newId = IdWorker.getSnowFlakeIdString(); + Date now = new Date(); + this.setId(newId); + this.setCreatedTime(now); + this.setCreatedBy(userId); + this.setUpdatedTime(now); + this.setUpdatedBy(userId); + this.setEffectFlag(EffectFlagEnum.EFFECT.code); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java index 95d3310..80069c5 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java @@ -4,4 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.electromagnetic.industry.software.manage.pojo.models.EdFileFavorite; public interface EdFileFavoriteService extends IService { + + /** + * 逻辑删除 + * @param userId + * @param fileId + * @return + */ + public boolean logicRemove (String userId, String fileId); + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java index 3ebae53..f47b9ae 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java @@ -1,6 +1,10 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; import com.electromagnetic.industry.software.manage.mapper.EdFileFavoriteMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileFavorite; import com.electromagnetic.industry.software.manage.service.EdFileFavoriteService; @@ -8,4 +12,19 @@ import org.springframework.stereotype.Service; @Service public class EdFileFavoriteServiceImpl extends ServiceImpl implements EdFileFavoriteService { + + /** + * 逻辑删除 + * @param userId + * @param fileId + * @return + */ + public boolean logicRemove (String userId, String fileId) { + LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(EdFileFavorite.class) + .eq(EdFileFavorite::getUserId, userId) + .eq(EdFileFavorite::getFileId, fileId) + .set(EdFileFavorite::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code); + return update(updateWrapper); + } + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index b70e9a4..d58a287 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -1615,24 +1615,37 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(EdFileFavorite::getUserId, userId) - .eq(EdFileFavorite::getFileId, fileId); - if (fileFavoriteService.getOne(queryWrapper) != null) { + EdFileInfo fileInfo = this.baseMapper.selectById(fileId); + // 文件是否有效 + Assert.isTrue(fileInfo != null && fileInfo.getEffectFlag().equals(EffectFlagEnum.EFFECT.code), StrFormatter.format("文件已删除,无法收藏!")); + + EdFileFavorite favorite = fileFavoriteService.getOne( + Wrappers.lambdaQuery() + .eq(EdFileFavorite::getUserId, userId) + .eq(EdFileFavorite::getFileId, fileId) + ); + // 检查是否已存在有效收藏 + if (favorite != null && EffectFlagEnum.EFFECT.code.equals(favorite.getEffectFlag())) { throw new BizException("文件已收藏,无法重复收藏!"); } - // 插入收藏记录 - EdFileFavorite favorite = new EdFileFavorite(); - favorite.setUserId(userId); - favorite.setFileId(fileId); - boolean isSaved = fileFavoriteService.save(favorite); + boolean isSaved; + if (favorite != null) { + favorite.setEffectFlag(EffectFlagEnum.EFFECT.code); + isSaved = fileFavoriteService.updateById(favorite); + } else { + EdFileFavorite fileFavorite = new EdFileFavorite(); + fileFavorite.newInit(); + fileFavorite.setUserId(userId); + fileFavorite.setFileId(fileId); + isSaved = fileFavoriteService.save(fileFavorite); + } + if (isSaved) { - EdFileInfo fileInfo = this.baseMapper.selectById(fileId); - UserThreadLocal.setSuccessInfo(Optional.ofNullable(fileInfo).map(EdFileInfo::getParentId).orElse(""), fileId, StrFormatter.format("收藏了文件")); + UserThreadLocal.setSuccessInfo("", fileId, StrFormatter.format("收藏了文件")); } return isSaved; } @@ -1648,7 +1661,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EdFileFavorite::getUserId, userId) - .eq(EdFileFavorite::getFileId, fileId); + .eq(EdFileFavorite::getFileId, fileId) + .eq(EdFileFavorite::getEffectFlag, EffectFlagEnum.EFFECT.code); return fileFavoriteService.getOne(queryWrapper) != null; } @@ -1661,10 +1675,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(EdFileFavorite::getUserId, userId) - .eq(EdFileFavorite::getFileId, fileId); - boolean isRemoved = fileFavoriteService.remove(queryWrapper); + boolean isRemoved = fileFavoriteService.logicRemove(userId, fileId); if (isRemoved) { UserThreadLocal.setSuccessInfo("", fileId, StrFormatter.format("取消了收藏")); } @@ -1693,7 +1704,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.select(EdFileFavorite::getFileId).eq(EdFileFavorite::getUserId, userId); + queryWrapper.select(EdFileFavorite::getFileId) + .eq(EdFileFavorite::getUserId, userId) + .eq(EdFileFavorite::getEffectFlag, EffectFlagEnum.EFFECT.code); fileIds = fileFavoriteService.listObjs(queryWrapper, Object::toString); } diff --git a/electromagnetic-common/pom.xml b/electromagnetic-common/pom.xml index bc6e346..39d1e96 100644 --- a/electromagnetic-common/pom.xml +++ b/electromagnetic-common/pom.xml @@ -31,8 +31,8 @@ org.bouncycastle - bcprov-jdk16 - 1.46 + bcprov-jdk18on + 1.77 cn.hutool From f7275abe20b2d7f29f0d48b28c5cc7e24257e16d Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 16 Apr 2025 17:04:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E8=A1=A8=E5=8F=8A=E7=9B=B8?= =?UTF-8?q?=E5=BA=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/pojo/models/EdFileRelation.java | 34 ++-- .../EdFileRelationServiceImpl.java | 148 +++++++++++------- 2 files changed, 103 insertions(+), 79 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileRelation.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileRelation.java index 52a8bb7..82a9a37 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileRelation.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileRelation.java @@ -1,15 +1,17 @@ package com.electromagnetic.industry.software.manage.pojo.models; -import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; +import com.electromagnetic.industry.software.common.util.IdWorker; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; import lombok.Data; import java.util.Date; @Data @TableName("ed_file_relation") -public class EdFileRelation { +public class EdFileRelation extends BaseModel{ private String id; @@ -30,21 +32,15 @@ public class EdFileRelation { */ private String relationship; - /** - * 创建者 用户id - */ - @TableField(value = "created_by") - private String createdBy; - - @TableField(value = "created_at", fill = FieldFill.INSERT) - private Date createdAt; - - /** - * 更新者 用户id - */ - @TableField(value = "updated_by") - private String updatedBy; - - @TableField(value = "updated_at", fill = FieldFill.UPDATE) - private Date updatedAt; + public void newInit() { + String userId = UserThreadLocal.getUserId(); + String newId = IdWorker.getSnowFlakeIdString(); + Date now = new Date(); + this.setId(newId); + this.setCreatedTime(now); + this.setCreatedBy(userId); + this.setUpdatedTime(now); + this.setUpdatedBy(userId); + this.setEffectFlag(EffectFlagEnum.EFFECT.code); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java index 5587e91..47d6e79 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java @@ -8,10 +8,7 @@ import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; -import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum; -import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum; -import com.electromagnetic.industry.software.common.enums.PublishEnum; +import com.electromagnetic.industry.software.common.enums.*; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.*; @@ -52,6 +49,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl list = this.list(queryWrapper); - if (!list.isEmpty()) { + EdFileRelation relation = this.getOne(queryWrapper); + if (relation != null && relation.getEffectFlag().equals(EffectFlagEnum.EFFECT.code)) { throw new BizException("请勿重复建立关系"); } - edFileRelation.setId(IdWorker.getSnowFlakeIdString()); - edFileRelation.setCreatedBy(UserThreadLocal.getUserId()); - boolean isSaved = this.save(edFileRelation); + boolean isSaved; + if (relation != null) { + relation.setRelationship(edFileRelation.getRelationship()); + relation.setEffectFlag(EffectFlagEnum.EFFECT.code); + isSaved = this.updateById(relation); + } else { + EdFileRelation newRelation = new EdFileRelation(); + newRelation.newInit(); + BeanUtils.copyProperties(edFileRelation, newRelation); + isSaved = this.save(newRelation); + } if (isSaved) { - EdFileInfo fileInfo = edFileInfoMapper.selectById(edFileRelation.getId()); - UserThreadLocal.setSuccessInfo(Optional.ofNullable(fileInfo).map(EdFileInfo::getParentId).orElse(""), edFileRelation.getId(), StrFormatter.format("关联了文件")); + UserThreadLocal.setSuccessInfo("", edFileRelation.getId(), StrFormatter.format("关联了文件")); } return isSaved; } @@ -89,10 +94,17 @@ public class EdFileRelationServiceImpl extends ServiceImpl getEdges(String id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(EdFileRelation::getId1, id) - .or() - .eq(EdFileRelation::getId2, id); + queryWrapper.eq(EdFileRelation::getEffectFlag, EffectFlagEnum.EFFECT.code) + .and(wrapper -> wrapper.eq(EdFileRelation::getId1, id) + .or() + .eq(EdFileRelation::getId2, id)); + List list = this.list(queryWrapper); List edges = new ArrayList<>(); for (EdFileRelation edFileRelation : list) { @@ -202,23 +217,33 @@ public class EdFileRelationServiceImpl extends ServiceImpl uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode) { - Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG); String fileName = file.getOriginalFilename(); String mainName = FileUtil.mainName(fileName); String suffix = FileUtil.getSuffix(fileName); Assert.isTrue(StrUtil.isNotEmpty(suffix), "文件类型不能为空"); + String destPath = commonService.getDbPathById(parentId); + Assert.isTrue(!file.isEmpty(), StrFormatter.format("文件 {} 为空,文件上传到 {} 失败", fileName, destPath)); + Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), StrFormatter.format("文件 {} {},上传到 {} 失败", fileName, NAME_VALID_MSG, destPath)); // 查找下一层,看是否存在顶级定义相关文件,如果存在,则该层属于管理员层级定义的,不允许上传文件 - long dirCount = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class) + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) - .eq(EdFileInfo::getDataOwn, dataOwnCode) - .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)); - Assert.isTrue(dirCount == 0, "层级目录不允许上传文件"); - + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code); + DataOwnEnum obj = DataOwnEnum.getEnumByCode(dataOwnCode); + switch (Objects.requireNonNull(obj)) { + case USER_FILE, USER_PRJ -> queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_PRJ.code); + case SYS_FILE, SYS_PRJ -> queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code); + case REPO_PRJ, REPO_FILE -> queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.REPO_PRJ.code); + default -> ElectromagneticResultUtil.fail("-1", "参数错误"); + } + long dirCount = edFileInfoMapper.selectCount(queryWrapper); + Assert.isTrue(dirCount == 0, "文件 {} 上传到 {} 失败,层级结构不允许上传文件", fileName, destPath); EdFileInfo newEdFileInfo = new EdFileInfo(); + EdFileInfo finalEdFileInfo; newEdFileInfo.newInit(); + try { Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), NAME_VALID_MSG); Long count = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class) @@ -227,44 +252,40 @@ public class EdFileRelationServiceImpl extends ServiceImpl !StrUtil.equals(obj.getColumn(), "file_content")) - .eq(EdFileInfo::getId, parentId) - .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); - String codePathByDbPath = commonService.getCodePathByDbPath(parentFileInfo.getFilePath()); - String fileCode = commonService.createFileCode(codePathByDbPath, suffix, FILE_START_VERSION, newEdFileInfo.getFileTime()); - newEdFileInfo.setParentId(parentId) - .setFileCode(fileCode) - .setFileName(mainName) - .setFileType(suffix) - .setFileVersion(FILE_START_VERSION) - .setFileTime(newEdFileInfo.getFileTime()) - .setFileSize(file.getSize()) - .setFilePath(parentFileInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newEdFileInfo.getId()) - .setDataType(EleDataTypeEnum.FILE.code) - .setDataStatus(PublishEnum.PUBLISHED.getCode()) - .setFileCode(fileCode) - .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) - .setDataOwn(dataOwnCode) - .setEffectFlag(EffectFlagEnum.EFFECT.code); - - // 文件名加”_1“,存为新文件 if (count > 0) { - edFileInfoService.resetFileInfoName(newEdFileInfo); + finalEdFileInfo = edFileInfoService.handUploadRepeatFile(parentId, file, 3, dataOwnCode); + } else { + EdFileInfo parentFolderInfo = edFileInfoMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) + .eq(EdFileInfo::getId, parentId) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); + + String codePathByDbPath = commonService.getCodePathByDbPath(parentFolderInfo.getFilePath()); + String fileCode = commonService.createFileCode(codePathByDbPath, suffix, FILE_START_VERSION, newEdFileInfo.getFileTime()); + newEdFileInfo.setParentId(parentId) + .setFileCode(fileCode) + .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) + .setDataOwn(dataOwnCode) + .setFileName(mainName) + .setFileContent(EleCommonUtil.parse(file.getInputStream(), suffix)) + .setFileType(suffix) + .setFileVersion(FILE_START_VERSION) + .setFileSize(file.getSize()) + .setFilePath(parentFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newEdFileInfo.getId()) + .setDataType(EleDataTypeEnum.FILE.code) + .setDataStatus(PublishEnum.PUBLISHED.getCode()) + .setEffectFlag(EffectFlagEnum.EFFECT.code); + edFileInfoService.saveOrUpdate(newEdFileInfo); + String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode); + FileUtil.writeFromStream(file.getInputStream(), fileDestPath); + EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); + finalEdFileInfo = newEdFileInfo; + // 创建文件关系 + EdFileRelation relation = new EdFileRelation(); + relation.setId1(id); + relation.setId2(newEdFileInfo.getId()); + relation.setRelationship(desc); + createRelation(relation); } - - edFileInfoService.saveOrUpdate(newEdFileInfo); - String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode); - FileUtil.writeFromStream(file.getInputStream(), fileDestPath); - EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); - - // 创建文件关系 - EdFileRelation relation = new EdFileRelation(); - relation.setId1(id); - relation.setId2(newEdFileInfo.getId()); - relation.setRelationship(desc); - createRelation(relation); - } catch (Exception e) { newEdFileInfo.setParentId(parentId) .setFileName(mainName) @@ -280,7 +301,14 @@ public class EdFileRelationServiceImpl extends ServiceImpl Date: Wed, 16 Apr 2025 17:06:12 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD=20=20=20=20=20-=20?= =?UTF-8?q?=E5=A2=9E=E6=B7=BB=E6=96=87=E4=BB=B6=E6=94=B6=E8=97=8F=EF=BC=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=9A=E6=9C=89=E6=95=88=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/EdFileInfoServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index d58a287..9c50acd 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -831,16 +831,23 @@ public class EdFileInfoServiceImpl extends ServiceImpl exportInfoMap) { List fileInfos = (List) exportInfoMap.getOrDefault(PRJ_INFO, new ArrayList<>()); List accessibleFileIds = fileInfos.stream().map(EdFileInfo::getId).toList(); - List edFileRelations = edFileRelationMapper.selectList(Wrappers.lambdaQuery(EdFileRelation.class).in(EdFileRelation::getId1, accessibleFileIds) - .or() - .in(EdFileRelation::getId2, accessibleFileIds)); + List edFileRelations = edFileRelationMapper.selectList( + Wrappers.lambdaQuery(EdFileRelation.class) + .eq(EdFileRelation::getEffectFlag, EffectFlagEnum.EFFECT.code) + .and(wrapper -> wrapper + .in(EdFileRelation::getId1, accessibleFileIds) + .or() + .in(EdFileRelation::getId2, accessibleFileIds))); exportInfoMap.put(ED_FILE_RELATION, edFileRelations); } private void exportCollectionInfo(Map exportInfoMap) { List fileInfos = (List) exportInfoMap.getOrDefault(PRJ_INFO, new ArrayList<>()); List accessibleFileIds = fileInfos.stream().map(EdFileInfo::getId).toList(); - List edFileFavorites = edFileFavoriteMapper.selectList(Wrappers.lambdaQuery(EdFileFavorite.class).in(EdFileFavorite::getFileId, accessibleFileIds)); + List edFileFavorites = edFileFavoriteMapper.selectList( + Wrappers.lambdaQuery(EdFileFavorite.class) + .eq(EdFileFavorite::getEffectFlag, EffectFlagEnum.EFFECT.code) + .in(EdFileFavorite::getFileId, accessibleFileIds)); exportInfoMap.put(ED_FILE_FAVORITE, edFileFavorites); }