Merge branch 'develop' of http://139.196.179.195:3000/chenxudong/electromagnetic-data-new into develop
This commit is contained in:
commit
ebea20981b
|
|
@ -210,7 +210,7 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ProjectVO> queryAllPrjInfo(boolean isAdminQuery) {
|
public List<String> queryAllPrjInfo(boolean isAdminQuery) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
|
|
@ -222,7 +222,7 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
List<String> ids = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList());
|
List<String> ids = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
List projectVOS = new ArrayList<>();
|
List<String> projectVOS = new ArrayList<>();
|
||||||
|
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
List<EdFileInfo> edFileInfos = selectAllAdminFolder(id);
|
List<EdFileInfo> edFileInfos = selectAllAdminFolder(id);
|
||||||
|
|
@ -246,8 +246,9 @@ public class CommonService {
|
||||||
treeNode.putExtra(ProjectVO.Fields.dataStatus, obj.getDataStatus());
|
treeNode.putExtra(ProjectVO.Fields.dataStatus, obj.getDataStatus());
|
||||||
}));
|
}));
|
||||||
String jsonStr = JSONUtil.toJsonStr(trees);
|
String jsonStr = JSONUtil.toJsonStr(trees);
|
||||||
ProjectVO projectVO = JSONUtil.toList(jsonStr, ProjectVO.class).get(0);
|
projectVOS.add(jsonStr);
|
||||||
projectVOS.add(projectVO);
|
// ProjectVO projectVO = JSONUtil.toList(jsonStr, ProjectVO.class).get(0);
|
||||||
|
// projectVOS.add(projectVO);
|
||||||
} else {
|
} else {
|
||||||
TreeNodeConfig config = new TreeNodeConfig();
|
TreeNodeConfig config = new TreeNodeConfig();
|
||||||
config.setIdKey(FileProjectVO.Fields.categoryId);
|
config.setIdKey(FileProjectVO.Fields.categoryId);
|
||||||
|
|
@ -261,8 +262,9 @@ public class CommonService {
|
||||||
treeNode.putExtra(FileProjectVO.Fields.dataStatus, obj.getDataStatus());
|
treeNode.putExtra(FileProjectVO.Fields.dataStatus, obj.getDataStatus());
|
||||||
}));
|
}));
|
||||||
String jsonStr = JSONUtil.toJsonStr(trees);
|
String jsonStr = JSONUtil.toJsonStr(trees);
|
||||||
FileProjectVO fileProjectVO = JSONUtil.toList(jsonStr, FileProjectVO.class).get(0);
|
projectVOS.add(jsonStr);
|
||||||
projectVOS.add(fileProjectVO);
|
// FileProjectVO fileProjectVO = JSONUtil.toList(jsonStr, FileProjectVO.class).get(0);
|
||||||
|
// projectVOS.add(fileProjectVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return projectVOS;
|
return projectVOS;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO;
|
import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.*;
|
import com.electromagnetic.industry.software.manage.pojo.req.*;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.resp.FileInfoQueryPageVO;
|
import com.electromagnetic.industry.software.manage.pojo.resp.FileInfoQueryPageVO;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.resp.FileProjectVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.resp.FileVersionViewVO;
|
import com.electromagnetic.industry.software.manage.pojo.resp.FileVersionViewVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.resp.UploadRecordVO;
|
import com.electromagnetic.industry.software.manage.pojo.resp.UploadRecordVO;
|
||||||
import com.electromagnetic.industry.software.manage.service.EdFileInfoService;
|
import com.electromagnetic.industry.software.manage.service.EdFileInfoService;
|
||||||
|
|
@ -169,6 +170,13 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> tree() {
|
public ElectromagneticResult<?> tree() {
|
||||||
|
List<String> strings = commonService.queryAllPrjInfo(false);
|
||||||
|
List<FileProjectVO> res = new ArrayList<>();
|
||||||
|
strings.forEach(e -> {
|
||||||
|
FileProjectVO fileProjectVO = JSONUtil.toList(e, FileProjectVO.class).get(0);
|
||||||
|
res.add(fileProjectVO);
|
||||||
|
});
|
||||||
|
res.sort(Comparator.comparing(FileProjectVO::getSort));
|
||||||
return ElectromagneticResultUtil.success(commonService.queryAllPrjInfo(false));
|
return ElectromagneticResultUtil.success(commonService.queryAllPrjInfo(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -564,30 +572,38 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.eq(EdFileInfo::getEffectFlag, true));
|
.eq(EdFileInfo::getEffectFlag, true));
|
||||||
resFiles.addAll(edFileInfos);
|
resFiles.addAll(edFileInfos);
|
||||||
}
|
}
|
||||||
|
String prjId = resFiles.get(0).getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0];
|
||||||
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getPrjDir, true).eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
|
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)
|
||||||
|
.eq(EdFileInfo::getPrjDir, true)
|
||||||
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
|
EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId);
|
||||||
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
Map<String, EdFileInfo> tmps = resFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> tmps = resFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
|
tmps.putAll(prjFoldersMap);
|
||||||
resFiles.clear();
|
resFiles.clear();
|
||||||
resFiles.addAll(tmps.values());
|
resFiles.addAll(tmps.values());
|
||||||
resFiles.addAll(prjFoldersMap.values());
|
resFiles.add(prjFileInfo);
|
||||||
String prjName = commonService.getPrjNameByDbPath(resFiles.get(0).getFilePath());
|
String prjName = commonService.getPrjNameByDbPath(resFiles.get(0).getFilePath());
|
||||||
List<EdFileInfo> folders = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FOLDER.code)).collect(Collectors.toList());
|
List<EdFileInfo> folders = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FOLDER.code)).collect(Collectors.toList());
|
||||||
List<EdFileInfo> files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
List<EdFileInfo> files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
||||||
for (EdFileInfo edFileInfo : folders) {
|
for (EdFileInfo edFileInfo : folders) {
|
||||||
String destFolderPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getFileSysPath(edFileInfo.getFileId()); // file
|
String destFolderPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath()); // file
|
||||||
fileSystemService.createDirectory(destFolderPath);
|
fileSystemService.createDirectory(destFolderPath);
|
||||||
}
|
}
|
||||||
for (EdFileInfo edFileInfo : files) {
|
for (EdFileInfo edFileInfo : files) {
|
||||||
String filePath = commonService.getFileSysPath(edFileInfo.getFileId()); // file
|
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath()); // file
|
||||||
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFileId());
|
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath());
|
||||||
fileSystemService.copyFile(filePath, destPath);
|
fileSystemService.copyFile(filePath, destPath);
|
||||||
}
|
}
|
||||||
String mysqlInfo = JSONUtil.toJsonStr(resFiles);
|
String mysqlInfo = JSONUtil.toJsonStr(resFiles);
|
||||||
fileSystemService.writeStringToFile(downloadDataDir + File.separator + prjName + File.separator + "mysql.info", mysqlInfo);
|
fileSystemService.writeStringToFile(downloadDataDir + File.separator + prjName + File.separator + "mysql.info", mysqlInfo);
|
||||||
String exportZipFile = downloadDataDir + File.separator + prjName + ".zip";
|
String exportZipFile = downloadDataDir + File.separator + prjName + ".zip";
|
||||||
String exportColibFile = downloadDataDir + File.separator + prjName + EXPORT_FILE_SUFFIX;
|
String exportColibFile = downloadDataDir + File.separator + prjName + EXPORT_FILE_SUFFIX;
|
||||||
ZipUtil.zip(downloadDataDir + File.separator + prjName + File.separator + prjName, exportZipFile);
|
if (FileUtil.exist(exportColibFile)) {
|
||||||
|
FileUtil.del(exportColibFile);
|
||||||
|
}
|
||||||
|
ZipUtil.zip(downloadDataDir + File.separator + prjName, exportZipFile);
|
||||||
AES aes = SecureUtil.aes(password.getBytes());
|
AES aes = SecureUtil.aes(password.getBytes());
|
||||||
try (
|
try (
|
||||||
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
||||||
|
|
@ -600,6 +616,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
throw new BizException(-1, info);
|
throw new BizException(-1, info);
|
||||||
} finally {
|
} finally {
|
||||||
fileSystemService.deleteFile(exportZipFile);
|
fileSystemService.deleteFile(exportZipFile);
|
||||||
|
fileSystemService.deleteFile(downloadDataDir + File.separator + prjName);
|
||||||
}
|
}
|
||||||
File file = FileUtil.newFile(exportColibFile);
|
File file = FileUtil.newFile(exportColibFile);
|
||||||
FileSystemResource fileSystemResource = new FileSystemResource(file);
|
FileSystemResource fileSystemResource = new FileSystemResource(file);
|
||||||
|
|
@ -631,8 +648,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
|
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(parentId);
|
// EdFileInfo fileInfo = this.baseMapper.selectById(parentId);
|
||||||
Assert.isTrue(fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code) && !fileInfo.getPrjDir(), "层级目录不允许上传文件");
|
// Assert.isTrue(fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code) && !fileInfo.getPrjDir(), "层级目录不允许上传文件");
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
String mainName = FileUtil.mainName(fileName);
|
String mainName = FileUtil.mainName(fileName);
|
||||||
String suffix = FileUtil.getSuffix(fileName);
|
String suffix = FileUtil.getSuffix(fileName);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.text.StrFormatter;
|
import cn.hutool.core.text.StrFormatter;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
|
@ -20,6 +21,7 @@ import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||||
import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper;
|
import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo;
|
import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO;
|
||||||
import com.electromagnetic.industry.software.manage.service.EdPrjService;
|
import com.electromagnetic.industry.software.manage.service.EdPrjService;
|
||||||
import com.electromagnetic.industry.software.manage.service.FileSystemService;
|
import com.electromagnetic.industry.software.manage.service.FileSystemService;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
@ -28,10 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.electromagnetic.industry.software.common.cons.ElectromagneticConstants.*;
|
import static com.electromagnetic.industry.software.common.cons.ElectromagneticConstants.*;
|
||||||
|
|
@ -215,7 +214,14 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> queryAllPrjInfo() {
|
public ElectromagneticResult<?> queryAllPrjInfo() {
|
||||||
return ElectromagneticResultUtil.success(commonService.queryAllPrjInfo(true));
|
List<String> res = commonService.queryAllPrjInfo(true);
|
||||||
|
List<ProjectVO> projectVOS = new ArrayList<>();
|
||||||
|
res.forEach(e -> {
|
||||||
|
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
||||||
|
projectVOS.add(projectVO);
|
||||||
|
});
|
||||||
|
projectVOS.sort(Comparator.comparing(ProjectVO::getSort));
|
||||||
|
return ElectromagneticResultUtil.success(projectVOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -349,7 +355,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setFileTime(nowTimeStr)
|
.setFileTime(nowTimeStr)
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode)
|
.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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue