调通了层级沿用
This commit is contained in:
parent
5f3af77a5c
commit
0ec69f5d8f
|
|
@ -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.mapper.EdFileRelationMapper;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.models.EdFileRelation;
|
import com.electromagnetic.industry.software.manage.pojo.models.EdFileRelation;
|
||||||
import com.electromagnetic.industry.software.manage.service.EdFileRelationService;
|
import com.electromagnetic.industry.software.manage.service.EdFileRelationService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@Service
|
||||||
public class EdFileRelationServiceImpl implements EdFileRelationService {
|
public class EdFileRelationServiceImpl implements EdFileRelationService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setPrjDir(true)
|
.setPrjDir(true)
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setFilePath(newPrjId)
|
.setFilePath(newPrjId)
|
||||||
.setSort(1)
|
.setSort(1)
|
||||||
|
|
@ -268,7 +268,8 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
// 其余置为发布状态
|
// 其余置为发布状态
|
||||||
LambdaUpdateWrapper<EdFileInfo> updateWrapper = Wrappers.lambdaUpdate(EdFileInfo.class)
|
LambdaUpdateWrapper<EdFileInfo> updateWrapper = Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
.set(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)
|
.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);
|
.likeRight(EdFileInfo::getFilePath, prjId);
|
||||||
this.update(updateWrapper);
|
this.update(updateWrapper);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
|
|
@ -300,6 +301,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> follow(String sourceId, String targetId) {
|
public ElectromagneticResult<?> follow(String sourceId, String targetId) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
@ -314,7 +316,10 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
final int count = i;
|
final int count = i;
|
||||||
EdFileInfo targetParentFile = targetEdFileInfos.stream()
|
EdFileInfo targetParentFile = targetEdFileInfos.stream()
|
||||||
.filter(e -> StrUtil.count(e.getFilePath(), MYSQL_FILE_PATH_SPLIT) == count - 1)
|
.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<EdFileInfo> sourceTmpEdFiles = sourceEdFileInfos.stream()
|
List<EdFileInfo> sourceTmpEdFiles = sourceEdFileInfos.stream()
|
||||||
.filter(e -> StrUtil.count(e.getFilePath(), MYSQL_FILE_PATH_SPLIT) == count)
|
.filter(e -> StrUtil.count(e.getFilePath(), MYSQL_FILE_PATH_SPLIT) == count)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
@ -323,6 +328,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
Map<String, EdFileInfo> sourceFileNameMap = sourceTmpEdFiles.stream().collect(Collectors.toMap(EdFileInfo::getFileName, e -> e));
|
Map<String, EdFileInfo> sourceFileNameMap = sourceTmpEdFiles.stream().collect(Collectors.toMap(EdFileInfo::getFileName, e -> e));
|
||||||
List<String> targetFileNames = targetTmpEdFiles.stream().map(EdFileInfo::getFileName).collect(Collectors.toList());
|
List<String> targetFileNames = targetTmpEdFiles.stream().map(EdFileInfo::getFileName).collect(Collectors.toList());
|
||||||
|
int sort = targetTmpEdFiles.size();
|
||||||
for (EdFileInfo edFileInfo : sourceTmpEdFiles) {
|
for (EdFileInfo edFileInfo : sourceTmpEdFiles) {
|
||||||
String sourceFileName = edFileInfo.getFileName();
|
String sourceFileName = edFileInfo.getFileName();
|
||||||
if (!targetFileNames.contains(sourceFileName)) {
|
if (!targetFileNames.contains(sourceFileName)) {
|
||||||
|
|
@ -330,28 +336,31 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
EdFileInfo targetFile = new EdFileInfo();
|
EdFileInfo targetFile = new EdFileInfo();
|
||||||
int maxFolderId = Integer.parseInt(this.baseMapper.maxPrjId());
|
int maxFolderId = Integer.parseInt(this.baseMapper.maxPrjId());
|
||||||
String newFolderId = String.valueOf(maxFolderId + 1);
|
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();
|
Date now = new Date();
|
||||||
targetFile.setId(newFolderId)
|
targetFile.setId(newFolderId)
|
||||||
.setFileId(newFolderId)
|
.setFileId(newFolderId)
|
||||||
.setFileName(sourceFile.getFileName())
|
.setFileName(sourceFile.getFileName())
|
||||||
.setFileVersion(FILE_START_VERSION)
|
.setFileVersion(FILE_START_VERSION)
|
||||||
.setPrjDir(true)
|
.setPrjDir(true)
|
||||||
.setParentId(targetParentFile.getParentId())
|
.setParentId(targetParentFile.getId())
|
||||||
.setFileTime(EleCommonUtil.getNowTimeStr())
|
.setFileTime(nowTimeStr)
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
||||||
|
.setFileCode(fileCode)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setFilePath(targetParentFile.getFilePath() + MYSQL_FILE_PATH_SPLIT + newFolderId)
|
.setFilePath(targetParentFile.getFilePath() + MYSQL_FILE_PATH_SPLIT + newFolderId)
|
||||||
.setSort(targetTmpEdFiles.size() + 1)
|
.setSort(++sort)
|
||||||
.setCreatedTime(now)
|
.setCreatedTime(now)
|
||||||
.setUpdatedTime(now)
|
.setUpdatedTime(now)
|
||||||
.setCreatedBy(currentUserId)
|
.setCreatedBy(currentUserId)
|
||||||
.setUpdatedBy(currentUserId);
|
.setUpdatedBy(currentUserId);
|
||||||
this.save(targetFile);
|
this.save(targetFile);
|
||||||
|
targetEdFileInfos.add(targetFile);
|
||||||
String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath());
|
String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath());
|
||||||
fileSystemService.createDirectory(targetSysFilePath);
|
fileSystemService.createDirectory(targetSysFilePath);
|
||||||
targetEdFileInfos = commonService.selectAllAdminFolder(targetId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue