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; ...@@ -16,6 +16,7 @@ import com.yice.webadmin.app.dto.DatasetVersionDto;
import com.yice.webadmin.app.model.DatasetManage; import com.yice.webadmin.app.model.DatasetManage;
import com.yice.webadmin.app.model.DatasetVersion; import com.yice.webadmin.app.model.DatasetVersion;
import com.yice.webadmin.app.service.DatasetManageService; import com.yice.webadmin.app.service.DatasetManageService;
import com.yice.webadmin.app.service.DatasetVersionService;
import com.yice.webadmin.app.vo.DatasetManageVo; import com.yice.webadmin.app.vo.DatasetManageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -38,6 +39,8 @@ public class DatasetManageController { ...@@ -38,6 +39,8 @@ public class DatasetManageController {
@Autowired @Autowired
private DatasetManageService datasetManageService; private DatasetManageService datasetManageService;
@Autowired
private DatasetVersionService datasetVersionService;
/** /**
* 新增数据集管理数据。 * 新增数据集管理数据。
...@@ -194,6 +197,15 @@ public class DatasetManageController { ...@@ -194,6 +197,15 @@ public class DatasetManageController {
errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, 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)) { if (!datasetManageService.remove(datasetId)) {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
......
...@@ -277,43 +277,23 @@ public class DatasetVersionController { ...@@ -277,43 +277,23 @@ public class DatasetVersionController {
String errorMessage; String errorMessage;
// 验证关联Id的数据合法性 // 验证关联Id的数据合法性
DatasetVersion originalDatasetVersion = datasetVersionService.getById(versionId); DatasetVersion originalDatasetVersion = datasetVersionService.getById(versionId);
if (originalDatasetVersion.getReleaseStatus() == 1) {
errorMessage = "数据集已发布的状态不允许删除!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
if (originalDatasetVersion == null) { if (originalDatasetVersion == null) {
// NOTE: 修改下面方括号中的话述 // NOTE: 修改下面方括号中的话述
errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
} }
if (!datasetVersionService.remove(versionId)) { if (!datasetVersionService.remove(originalDatasetVersion.getVersionId())) {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, 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(); 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") @PostMapping(value = "/detail")
public ResponseResult<MyPageData<String>> detail(@MyRequestBody Long versionId, public ResponseResult<MyPageData<String>> detail(@MyRequestBody Long versionId,
......
...@@ -106,4 +106,6 @@ public interface DatasetVersionService extends IBaseService<DatasetVersion, Long ...@@ -106,4 +106,6 @@ public interface DatasetVersionService extends IBaseService<DatasetVersion, Long
* @return 查询结果集。 * @return 查询结果集。
*/ */
List<DatasetVersion> getDatasetVersionListWithRelation(DatasetVersion filter, DatasetDetail datasetDetailFilter, String orderBy); List<DatasetVersion> getDatasetVersionListWithRelation(DatasetVersion filter, DatasetDetail datasetDetailFilter, String orderBy);
/* boolean remove(DatasetVersion originalDatasetVersion);*/
} }
...@@ -12,9 +12,11 @@ import com.fasterxml.jackson.databind.node.ObjectNode; ...@@ -12,9 +12,11 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.yice.common.core.base.dao.BaseDaoMapper; import com.yice.common.core.base.dao.BaseDaoMapper;
import com.yice.common.core.base.service.BaseService; 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.CallResult;
import com.yice.common.core.object.MyPageParam; import com.yice.common.core.object.MyPageParam;
import com.yice.common.core.object.MyRelationParam; 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.core.util.MyModelUtil;
import com.yice.common.sequence.wrapper.IdGeneratorWrapper; import com.yice.common.sequence.wrapper.IdGeneratorWrapper;
import com.yice.webadmin.app.config.PythonConfig; import com.yice.webadmin.app.config.PythonConfig;
...@@ -24,7 +26,10 @@ import com.yice.webadmin.app.data.DatasetData; ...@@ -24,7 +26,10 @@ import com.yice.webadmin.app.data.DatasetData;
import com.yice.webadmin.app.model.DatasetDetail; import com.yice.webadmin.app.model.DatasetDetail;
import com.yice.webadmin.app.model.DatasetManage; import com.yice.webadmin.app.model.DatasetManage;
import com.yice.webadmin.app.model.DatasetVersion; 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 com.yice.webadmin.app.util.Sha1Util;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -54,17 +59,16 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long> ...@@ -54,17 +59,16 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
@Autowired @Autowired
private DatasetVersionMapper datasetVersionMapper; private DatasetVersionMapper datasetVersionMapper;
@Autowired @Autowired
private DatasetManageService datasetManageService; private DatasetCleanService datasetCleanService;
@Autowired @Autowired
private DatasetDetailService datasetDetailService; private DatasetManageService datasetManageService;
@Autowired @Autowired
private IdGeneratorWrapper idGenerator; private IdGeneratorWrapper idGenerator;
@Autowired @Autowired
private PythonConfig pythonConfig; private PythonConfig pythonConfig;
@Autowired @Autowired
private DatasetDataService datasetDataService; private DatasetDataService datasetDataService;
@Autowired
private DatasetCleanService datasetCleanService;
/** /**
* 返回当前Service的主表Mapper对象。 * 返回当前Service的主表Mapper对象。
...@@ -112,6 +116,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long> ...@@ -112,6 +116,7 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
/** /**
* 添加数据对象 * 添加数据对象
*
* @param datasetVersion 保存对象 * @param datasetVersion 保存对象
*/ */
private void insertDatasetVersion(DatasetVersion datasetVersion) { private void insertDatasetVersion(DatasetVersion datasetVersion) {
...@@ -389,10 +394,29 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long> ...@@ -389,10 +394,29 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
if (datasetVersionMapper.deleteById(versionId) == 0) { if (datasetVersionMapper.deleteById(versionId) == 0) {
return false; return false;
} }
datasetDetailService.removeByVersionId(versionId); //删除数据集
datasetDataService.delete(versionId);
// datasetDetailService.removeByVersionId(versionId);
return true; 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,删除一对多的从表数据。 * 当前服务的支持表为从表,根据主表的关联Id,删除一对多的从表数据。
* *
...@@ -404,6 +428,12 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long> ...@@ -404,6 +428,12 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
public int removeByDatasetId(Long datasetId) { public int removeByDatasetId(Long datasetId) {
DatasetVersion deletedObject = new DatasetVersion(); DatasetVersion deletedObject = new DatasetVersion();
deletedObject.setDatasetId(datasetId); 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)); return datasetVersionMapper.delete(new QueryWrapper<>(deletedObject));
} }
...@@ -441,6 +471,25 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long> ...@@ -441,6 +471,25 @@ public class DatasetVersionServiceImpl extends BaseService<DatasetVersion, Long>
return resultList; 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