From 0ec69f5d8f1537bed582af9c898d4ba37987d45f Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 31 Dec 2024 10:16:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E9=80=9A=E4=BA=86=E5=B1=82=E7=BA=A7?= =?UTF-8?q?=E6=B2=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EdFileRelationServiceImpl.java | 2 ++ .../service/serviceimpl/EdPrjServiceImpl.java | 25 +++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) 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 ef05cfd..b364bbf 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 @@ -5,9 +5,11 @@ import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.EdFileRelationMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileRelation; import com.electromagnetic.industry.software.manage.service.EdFileRelationService; +import org.springframework.stereotype.Service; import javax.annotation.Resource; +@Service public class EdFileRelationServiceImpl implements EdFileRelationService { @Resource diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index 2f4a866..42208d5 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -97,7 +97,7 @@ public class EdPrjServiceImpl extends ServiceImpl .setPrjDir(true) .setDataType(EleDataTypeEnum.FOLDER.code) .setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code) - .setEffectFlag(EffectFlagEnum.EFFECT.code) + .setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code) .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) .setFilePath(newPrjId) .setSort(1) @@ -268,7 +268,8 @@ public class EdPrjServiceImpl extends ServiceImpl // 其余置为发布状态 LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(EdFileInfo.class) .set(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code) - .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .set(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code) .likeRight(EdFileInfo::getFilePath, prjId); this.update(updateWrapper); return ElectromagneticResultUtil.success(true); @@ -300,6 +301,7 @@ public class EdPrjServiceImpl extends ServiceImpl * @return */ @Override + @Transactional(rollbackFor = Exception.class) public ElectromagneticResult follow(String sourceId, String targetId) { try { @@ -314,7 +316,10 @@ public class EdPrjServiceImpl extends ServiceImpl final int count = i; EdFileInfo targetParentFile = targetEdFileInfos.stream() .filter(e -> StrUtil.count(e.getFilePath(), MYSQL_FILE_PATH_SPLIT) == count - 1) - .collect(Collectors.toList()).get(0); + .collect(Collectors.toList()).stream().findFirst().orElse(null); + if (targetParentFile == null) { + continue; + } List sourceTmpEdFiles = sourceEdFileInfos.stream() .filter(e -> StrUtil.count(e.getFilePath(), MYSQL_FILE_PATH_SPLIT) == count) .collect(Collectors.toList()); @@ -323,6 +328,7 @@ public class EdPrjServiceImpl extends ServiceImpl .collect(Collectors.toList()); Map sourceFileNameMap = sourceTmpEdFiles.stream().collect(Collectors.toMap(EdFileInfo::getFileName, e -> e)); List targetFileNames = targetTmpEdFiles.stream().map(EdFileInfo::getFileName).collect(Collectors.toList()); + int sort = targetTmpEdFiles.size(); for (EdFileInfo edFileInfo : sourceTmpEdFiles) { String sourceFileName = edFileInfo.getFileName(); if (!targetFileNames.contains(sourceFileName)) { @@ -330,28 +336,31 @@ public class EdPrjServiceImpl extends ServiceImpl EdFileInfo targetFile = new EdFileInfo(); int maxFolderId = Integer.parseInt(this.baseMapper.maxPrjId()); String newFolderId = String.valueOf(maxFolderId + 1); + String nowTimeStr = EleCommonUtil.getNowTimeStr(); + String fileCode = commonService.createFileCode(targetParentFile.getId(), EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr); Date now = new Date(); targetFile.setId(newFolderId) .setFileId(newFolderId) .setFileName(sourceFile.getFileName()) .setFileVersion(FILE_START_VERSION) .setPrjDir(true) - .setParentId(targetParentFile.getParentId()) - .setFileTime(EleCommonUtil.getNowTimeStr()) + .setParentId(targetParentFile.getId()) + .setFileTime(nowTimeStr) .setDataType(EleDataTypeEnum.FOLDER.code) .setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code) - .setEffectFlag(EffectFlagEnum.EFFECT.code) + .setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code) + .setFileCode(fileCode) .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) .setFilePath(targetParentFile.getFilePath() + MYSQL_FILE_PATH_SPLIT + newFolderId) - .setSort(targetTmpEdFiles.size() + 1) + .setSort(++sort) .setCreatedTime(now) .setUpdatedTime(now) .setCreatedBy(currentUserId) .setUpdatedBy(currentUserId); this.save(targetFile); + targetEdFileInfos.add(targetFile); String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath()); fileSystemService.createDirectory(targetSysFilePath); - targetEdFileInfos = commonService.selectAllAdminFolder(targetId); } } }