Commit 579567c1 authored by pengxin's avatar pengxin

Merge branch 'master' of http://192.168.0.35:3000/lmp/lmp_server

parents 830dd6bc df169c98
......@@ -16,6 +16,7 @@ import com.yice.webadmin.app.dto.DatasetVersionDto;
import com.yice.webadmin.app.model.DatasetManage;
import com.yice.webadmin.app.model.DatasetVersion;
import com.yice.webadmin.app.service.DatasetManageService;
import com.yice.webadmin.app.service.DatasetVersionService;
import com.yice.webadmin.app.vo.DatasetManageVo;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
......@@ -38,6 +39,8 @@ public class DatasetManageController {
@Autowired
private DatasetManageService datasetManageService;
@Autowired
private DatasetVersionService datasetVersionService;
/**
* 新增数据集管理数据。
......@@ -194,6 +197,15 @@ public class DatasetManageController {
errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
DatasetVersion deletedObject = new DatasetVersion();
deletedObject.setDatasetId(datasetId);
List<DatasetVersion> datasetVersions = this.datasetVersionService.getDatasetVersionList(deletedObject, "");
for (DatasetVersion datasetVersion : datasetVersions) {
if (datasetVersion.getReleaseStatus() == 1) {
errorMessage = "存在已发布的子数据集版本,不允许删除!";
return ResponseResult.error(ErrorCodeEnum.UNHANDLED_EXCEPTION, errorMessage);
}
}
if (!datasetManageService.remove(datasetId)) {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
......
......@@ -277,43 +277,23 @@ public class DatasetVersionController {
String errorMessage;
// 验证关联Id的数据合法性
DatasetVersion originalDatasetVersion = datasetVersionService.getById(versionId);
if (originalDatasetVersion.getReleaseStatus() == 1) {
errorMessage = "数据集已发布的状态不允许删除!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
if (originalDatasetVersion == null) {
// NOTE: 修改下面方括号中的话述
errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
if (!datasetVersionService.remove(versionId)) {
if (!datasetVersionService.remove(originalDatasetVersion.getVersionId())) {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
try {
this.updateJsonFile(pythonConfig.getDatasetFileBaseDir() + pythonConfig.getDatasetInfo(),originalDatasetVersion.getVersionName());
} catch (IOException e) {
throw new RuntimeException(e);
}
//删除文件路径
FileUtil.del(originalDatasetVersion.getFileUrl());
//删除数据集
datasetDataService.delete(versionId);
return ResponseResult.success();
}
private void updateJsonFile(String filePath, String keyToRemove) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
File jsonFile = new File(filePath);
// 读取JSON文件
JsonNode rootNode = objectMapper.readTree(jsonFile);
// 删除指定键的对象
if (rootNode.isObject()) {
ObjectNode objectNode = (ObjectNode) rootNode;
objectNode.remove(keyToRemove);
} else {
log.error("Root node is not an object.");
}
// 将更新后的JSON写回文件
objectMapper.writeValue(jsonFile, rootNode);
}
@PostMapping(value = "/detail")
public ResponseResult<MyPageData<String>> detail(@MyRequestBody Long versionId,
......
......@@ -106,4 +106,6 @@ public interface DatasetVersionService extends IBaseService<DatasetVersion, Long
* @return 查询结果集。
*/
List<DatasetVersion> getDatasetVersionListWithRelation(DatasetVersion filter, DatasetDetail datasetDetailFilter, String orderBy);
/* boolean remove(DatasetVersion originalDatasetVersion);*/
}
......@@ -12,9 +12,11 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.pagehelper.Page;
import com.yice.common.core.base.dao.BaseDaoMapper;
import com.yice.common.core.base.service.BaseService;
import com.yice.common.core.constant.ErrorCodeEnum;
import com.yice.common.core.object.CallResult;
import com.yice.common.core.object.MyPageParam;
import com.yice.common.core.object.MyRelationParam;
import com.yice.common.core.object.ResponseResult;
import com.yice.common.core.util.MyModelUtil;
import com.yice.common.sequence.wrapper.IdGeneratorWrapper;
import com.yice.webadmin.app.config.PythonConfig;
......@@ -24,7 +26,10 @@ import com.yice.webadmin.app.data.DatasetData;
import com.yice.webadmin.app.model.DatasetDetail;
import com.yice.webadmin.app.model.DatasetManage;
import com.yice.webadmin.app.model.DatasetVersion;
import com.yice.webadmin.app.service.*;
import com.yice.webadmin.app.service.DatasetCleanService;
import com.yice.webadmin.app.service.DatasetDataService;
import com.yice.webadmin.app.service.DatasetManageService;
import com.yice.webadmin.app.service.DatasetVersionService;
import com.yice.webadmin.app.util.Sha1Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
......@@ -54,17 +59,16 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
@Autowired
private DatasetVersionMapper datasetVersionMapper;
@Autowired
private DatasetManageService datasetManageService;
private DatasetCleanService datasetCleanService;
@Autowired
private DatasetDetailService datasetDetailService;
private DatasetManageService datasetManageService;
@Autowired
private IdGeneratorWrapper idGenerator;
@Autowired
private PythonConfig pythonConfig;
@Autowired
private DatasetDataService datasetDataService;
@Autowired
private DatasetCleanService datasetCleanService;
/**
* 返回当前Service的主表Mapper对象。
......@@ -112,6 +116,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
/**
* 添加数据对象
*
* @param datasetVersion 保存对象
*/
private void insertDatasetVersion(DatasetVersion datasetVersion) {
......@@ -389,10 +394,29 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
if (datasetVersionMapper.deleteById(versionId) == 0) {
return false;
}
datasetDetailService.removeByVersionId(versionId);
//删除数据集
datasetDataService.delete(versionId);
// datasetDetailService.removeByVersionId(versionId);
return true;
}
private void updateDatasetInfoFile(String filePath, String keyToRemove) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
File jsonFile = new File(filePath);
// 读取JSON文件
JsonNode rootNode = objectMapper.readTree(jsonFile);
// 删除指定键的对象
if (rootNode.isObject()) {
ObjectNode objectNode = (ObjectNode) rootNode;
objectNode.remove(keyToRemove);
} else {
log.error("Root node is not an object.");
}
// 将更新后的JSON写回文件
objectMapper.writeValue(jsonFile, rootNode);
}
/**
* 当前服务的支持表为从表,根据主表的关联Id,删除一对多的从表数据。
*
......@@ -404,6 +428,12 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
public int removeByDatasetId(Long datasetId) {
DatasetVersion deletedObject = new DatasetVersion();
deletedObject.setDatasetId(datasetId);
List<DatasetVersion> datasetVersions = this.getDatasetVersionList(deletedObject, "");
for (DatasetVersion datasetVersion : datasetVersions) {
if (datasetVersion.getReleaseStatus() == 0) {
datasetDataService.delete(datasetVersion.getVersionId());
}
}
return datasetVersionMapper.delete(new QueryWrapper<>(deletedObject));
}
......@@ -441,6 +471,25 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
return resultList;
}
/* @Override
@Transactional(rollbackFor = Exception.class)
public boolean remove(DatasetVersion originalDatasetVersion) {
Long versionId = originalDatasetVersion.getVersionId();
try {
this.updateDatasetInfoFile(pythonConfig.getDatasetFileBaseDir() + pythonConfig.getDatasetInfo(),originalDatasetVersion.getVersionName());
} catch (IOException e) {
throw new RuntimeException(e);
}
//删除文件路径
FileUtil.del(originalDatasetVersion.getFileUrl());
//删除数据集
datasetDataService.delete(versionId);
if (datasetVersionMapper.deleteById(versionId) == 0) {
return false;
}
return true;
}*/
/**
* 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。
*
......
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