Commit c63a6b3e authored by pengxin's avatar pengxin

数据集详情版本管理模块提交

parent 0fac3996
...@@ -19,10 +19,12 @@ import com.yice.common.core.util.MyPageUtil; ...@@ -19,10 +19,12 @@ import com.yice.common.core.util.MyPageUtil;
import com.yice.common.log.annotation.OperationLog; import com.yice.common.log.annotation.OperationLog;
import com.yice.common.log.model.constant.SysOperationLogType; import com.yice.common.log.model.constant.SysOperationLogType;
import com.yice.webadmin.app.config.PythonConfig; import com.yice.webadmin.app.config.PythonConfig;
import com.yice.webadmin.app.data.DatasetData;
import com.yice.webadmin.app.dto.DatasetDetailDto; import com.yice.webadmin.app.dto.DatasetDetailDto;
import com.yice.webadmin.app.dto.DatasetVersionDto; import com.yice.webadmin.app.dto.DatasetVersionDto;
import com.yice.webadmin.app.model.DatasetDetail; import com.yice.webadmin.app.model.DatasetDetail;
import com.yice.webadmin.app.model.DatasetVersion; import com.yice.webadmin.app.model.DatasetVersion;
import com.yice.webadmin.app.service.DatasetDataService;
import com.yice.webadmin.app.service.DatasetVersionService; import com.yice.webadmin.app.service.DatasetVersionService;
import com.yice.webadmin.app.util.Sha1Util; import com.yice.webadmin.app.util.Sha1Util;
import com.yice.webadmin.app.vo.DatasetVersionVo; import com.yice.webadmin.app.vo.DatasetVersionVo;
...@@ -43,10 +45,7 @@ import java.nio.charset.StandardCharsets; ...@@ -43,10 +45,7 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/** /**
* 数据集版本操作控制器类。 * 数据集版本操作控制器类。
...@@ -64,7 +63,8 @@ public class DatasetVersionController { ...@@ -64,7 +63,8 @@ public class DatasetVersionController {
private DatasetVersionService datasetVersionService; private DatasetVersionService datasetVersionService;
@Autowired @Autowired
private PythonConfig pythonConfig; private PythonConfig pythonConfig;
@Autowired
private DatasetDataService datasetDataService;
/** /**
* 新增数据集版本数据。 * 新增数据集版本数据。
* *
...@@ -268,7 +268,7 @@ public class DatasetVersionController { ...@@ -268,7 +268,7 @@ public class DatasetVersionController {
DatasetVersion datasetVersion = this.datasetVersionService.getById(versionId); DatasetVersion datasetVersion = this.datasetVersionService.getById(versionId);
String versionName = datasetVersion.getVersionName(); String versionName = datasetVersion.getVersionName();
//先存储文件 //先存储文件
String fullName = this.saveDatasetFile(importFile, versionName); String fullName = this.saveDatasetFile(importFile, versionName, versionId);
//再存储数据集配置文件 //再存储数据集配置文件
this.saveDatasetInfo(versionName); this.saveDatasetInfo(versionName);
datasetVersion.setFileUrl(fullName); datasetVersion.setFileUrl(fullName);
...@@ -303,10 +303,11 @@ public class DatasetVersionController { ...@@ -303,10 +303,11 @@ public class DatasetVersionController {
* @param importFile 导入的文件。 * @param importFile 导入的文件。
* @return 保存的本地文件名。 * @return 保存的本地文件名。
*/ */
private String saveDatasetFile(MultipartFile importFile, String versionName) throws IOException { private String saveDatasetFile(MultipartFile importFile, String versionName, Long versionId) throws IOException {
String fullName = pythonConfig.getDatasetFileBaseDir() + versionName + ".json"; String fullName = pythonConfig.getDatasetFileBaseDir() + versionName + ".json";
byte[] bytes = null;
try { try {
byte[] bytes = importFile.getBytes(); bytes = importFile.getBytes();
Path path = Paths.get(fullName); Path path = Paths.get(fullName);
// 如果没有files文件夹,则创建 // 如果没有files文件夹,则创建
if (!Files.isWritable(path)) { if (!Files.isWritable(path)) {
...@@ -318,6 +319,21 @@ public class DatasetVersionController { ...@@ -318,6 +319,21 @@ public class DatasetVersionController {
log.error("Failed to write imported file [" + importFile.getOriginalFilename() + " ].", e); log.error("Failed to write imported file [" + importFile.getOriginalFilename() + " ].", e);
throw e; throw e;
} }
try {
// 或者指定字符集进行转换,替换"UTF-8"为你想要使用的字符集
String result = new String(bytes, "UTF-8");
//先删除数据集
datasetDataService.delete(versionId);
//保存到mongodb中
datasetDataService.save(new DatasetData(null, versionId, result, new Date()));
}catch (Exception ex) {
log.error("Failed to write mongodb database [" + importFile.getOriginalFilename() + " ].", ex);
throw ex;
}
return fullName; return fullName;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment