diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java
index d1e4cf1..4bf0fb7 100644
--- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java
+++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java
@@ -4,6 +4,7 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.impl;
import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.symmetric.AES;
@@ -25,9 +26,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import electromagnetic.data.framework.share.constants.ElectromagneticConstants;
import electromagnetic.data.framework.share.exception.LoggerConstant;
import electromagnetic.data.framework.share.id.IdWorker;
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil;
+import electromagnetic.data.framework.share.util.EleCommonUtil;
import electromagnetic.data.framework.share.util.EleZipUtil;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
@@ -132,8 +135,9 @@ public class EDDataServiceImpl implements EDDataService {
if(categoryParentList.size() > 0){
categoryParent = categoryParentList.get(0);
filePathOfFolder = categoryParent.getCategoryId() + FOLDER_NAME_SEPARATOR + categoryParent.getCategoryName();
- if(edDataInfoParent != null){
- filePathOfFolder = filePathOfFolder + File.separator + edDataInfoParent.getDataName();
+ if(edDataInfoParent != null) {
+ String fileType = StrUtil.isEmpty(edDataInfoParent.getFileType()) ? "" : "." + edDataInfoParent.getFileType();
+ filePathOfFolder = filePathOfFolder + File.separator + edDataInfoParent.getDataName() + fileType;
}
}
@@ -233,13 +237,14 @@ public class EDDataServiceImpl implements EDDataService {
EDDataInfo edDataInfo = edDataInfoList.get(0);
String filePathOfFolder = getFilePathOfFolder(edDataInfo.getCategoryId());
- String fileStorageFullPath = dataStoragePath + filePathOfFolder + File.separator + edDataInfo.getDataName();
+ String fileType = StrUtil.isEmpty(edDataInfo.getFileType()) ? "" : "." + edDataInfo.getFileType();
+ String fileStorageFullPath = dataStoragePath + filePathOfFolder + File.separator + edDataInfo.getDataName() + fileType;
if (!FileUtil.exist(fileStorageFullPath)){
throw new Exception("文件不存在");
}
- String fileNameNew = parames.getName();
+ String fileNameNew = parames.getName() + fileType;
if(fileNameNew != null && fileNameNew != "" && !fileNameNew.equals(edDataInfo.getDataName())) {
FileUtil.rename(Paths.get(fileStorageFullPath) ,fileNameNew,true);
}
@@ -274,7 +279,7 @@ public class EDDataServiceImpl implements EDDataService {
parames.setParentId(edDataInfo.getDataId());
childFileCount += getChildFileCount(parames);
}
- else if(edDataInfo.getDataType().equals(dataTypeFile))
+ else if(edDataInfo.getDataType().equals(dataTypeFile) && edDataInfo.getEffectFlag().equals(1))
{
++childFileCount;
}
@@ -305,13 +310,9 @@ public class EDDataServiceImpl implements EDDataService {
// 获取文件名
String fileFullName = fileInput.getOriginalFilename();
// 获取文件类型
- String fileType = "";
+ String fileType = EleCommonUtil.getFileType(fileFullName);
// 获取文件名称
- String fileName = "";
- if (fileFullName.lastIndexOf(".") != -1 && fileFullName.lastIndexOf(".") != 0) {
- fileType = fileFullName.substring(fileFullName.lastIndexOf(".") + 1);
- fileName = fileFullName.substring(fileFullName.lastIndexOf("."));
- }
+ String fileName = EleCommonUtil.getFileName(fileFullName);
// 判断文件名称是否存在
EDDataParams folderParames = new EDDataParams();
@@ -342,7 +343,7 @@ public class EDDataServiceImpl implements EDDataService {
edDataInfo.setModifier(parames.getUserId());
edDataInfo.setModifierName(parames.getUserName());
edDataInfo.setCategoryId(parames.getParentId());
- edDataInfo.setDataName(fileFullName);
+ edDataInfo.setDataName(fileName);
edDataInfo.setNote(parames.getNote());
edDataInfo.setFileType(fileType);
edDataInfo.setGmtBatchUpload(parames.getGmtBatchUpload());
@@ -561,7 +562,7 @@ public class EDDataServiceImpl implements EDDataService {
String dateString = sdf.format(date);
zipPathFileName = dataCachePath + "/exportData_" + dateString;
- enCodeZipPathFileName = dataCachePath + "/exportData_" + dateString + ".comac";
+ enCodeZipPathFileName = dataCachePath + "/exportData_" + dateString + ElectromagneticConstants.EXPORT_FILE_SUFFIX;
ZipUtil.zip(exportDataCachePath, zipPathFileName);
diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/ElectromagneticConstants.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/ElectromagneticConstants.java
index 85ff251..61f7a87 100644
--- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/ElectromagneticConstants.java
+++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/constants/ElectromagneticConstants.java
@@ -38,4 +38,6 @@ public final class ElectromagneticConstants {
public static final String TAG_SEGMENT="TagSegment";
public static final String TYPE_SEGMENT="TypeSegment";
+
+ public static final String EXPORT_FILE_SUFFIX = ".colib";
}
\ No newline at end of file
diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/EleCommonUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/EleCommonUtil.java
new file mode 100644
index 0000000..f0aa751
--- /dev/null
+++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/EleCommonUtil.java
@@ -0,0 +1,25 @@
+package electromagnetic.data.framework.share.util;
+
+public final class EleCommonUtil {
+
+ public static String getFileName(String fileFullName) {
+ if (fileFullName == null) {
+ return "";
+ }
+ if (!fileFullName.contains(".")) {
+ return fileFullName;
+ }
+
+ int index = fileFullName.lastIndexOf(".");
+ return fileFullName.substring(0, index);
+ }
+
+ public static String getFileType(String fileFullName) {
+ if (fileFullName == null || !fileFullName.contains(".")) {
+ return "";
+ }
+ int index = fileFullName.lastIndexOf(".");
+ return fileFullName.substring(index + 1);
+ }
+
+}
diff --git a/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml
index 33c9002..8ef2388 100644
--- a/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml
+++ b/infrastructure/repository/src/main/resources/sqlmapper/CategoryMapper.xml
@@ -49,7 +49,7 @@
SELECT LAST_INSERT_ID()
- insert into ed_data_info (id,
+ replace into ed_data_info (id,
category_type_id, parent_id, category_id,
category_name, category_status,
creator, creator_name, gmt_create,
diff --git a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml
index 619da42..9519cf3 100644
--- a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml
+++ b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml
@@ -38,7 +38,7 @@
SELECT LAST_INSERT_ID()
- insert into ed_data_info (category_id,
+ replace into ed_data_info (category_id,
data_id, data_no, data_name,
data_type, file_type, version,
content, implant_json, data_status,
diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java
index dda5b8a..3023141 100644
--- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java
+++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.symmetric.AES;
@@ -17,6 +18,7 @@ import com.electromagnetic.industry.software.data.manage.request.indicator.FileC
import com.electromagnetic.industry.software.data.manage.request.indicator.FileChunkResultDTO;
import com.electromagnetic.industry.software.data.manage.response.indicator.EDDataPageResponse;
import com.electromagnetic.industry.software.data.manage.service.mappers.EDDataMappers;
+import electromagnetic.data.framework.share.constants.ElectromagneticConstants;
import electromagnetic.data.framework.share.id.IdWorker;
import electromagnetic.data.framework.share.model.ElectromagneticResult;
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil;
@@ -193,7 +195,8 @@ public class EDDataFacadeImpl implements EDDataFacade {
EDDataInfo edDataInfo = edDataService.getDataInfo(parames);
Assert.isTrue(edDataInfo != null, "没有找到该下载文件");
String filePathOfFolder = edDataService.getFilePathOfFolder(edDataInfo.getCategoryId());
- String filePath = storageFilePath + "/" + filePathOfFolder + "/" + edDataInfo.getDataName();
+ String fileType = StrUtil.isEmpty(edDataInfo.getFileType()) ? "" : "." + edDataInfo.getFileType();
+ String filePath = storageFilePath + "/" + filePathOfFolder + "/" + edDataInfo.getDataName() + fileType;
Assert.isTrue(FileUtil.exist(filePath), "下载文件不存在。");
FileSystemResource fileSystemResource = new FileSystemResource(filePath);
@@ -228,7 +231,7 @@ public class EDDataFacadeImpl implements EDDataFacade {
Map result = new HashMap<>();
List dataIdList = Arrays.asList(dataIdArr.split(","));
- if(dataIdList.size() > 0) {
+ if(!dataIdList.isEmpty()) {
String filePath = edDataService.exportData(dataIdList);
Assert.isTrue(FileUtil.exist(filePath), "下载文件不存在。");
@@ -313,13 +316,12 @@ public class EDDataFacadeImpl implements EDDataFacade {
return new ArrayList<>();
}
- List uploadedFileChunkNums = FileUtil.listFileNames(destPath)
+ return FileUtil.listFileNames(destPath)
.stream()
- .filter(e -> !e.endsWith(".comac"))
+ .filter(e -> !e.endsWith(ElectromagneticConstants.EXPORT_FILE_SUFFIX))
.map(e -> e.replace(UPLOAD_FILE_CHUNK_SUFFIX, ""))
.map(Integer::parseInt)
.collect(Collectors.toList());
- return uploadedFileChunkNums;
}
// TODO 需要验证如果一个分片上传一半网络断开,则该分片的存储情况。