数据集修改
This commit is contained in:
parent
29e0af8332
commit
f380bbf28e
@ -59,4 +59,6 @@ public class DatasetRespVO {
|
||||
|
||||
/* @Schema(description = "数据集数据文件", example = "[]")
|
||||
private List<DatasetQuestionRespVO> datasetQuestionRespVOS;*/
|
||||
@Schema(description = "数据集数据文件", example = "[]")
|
||||
private List<DatasetFilesRespVO> datasetFiles;
|
||||
}
|
||||
|
@ -155,13 +155,45 @@ public class DatasetServiceImpl implements DatasetService {
|
||||
// 更新
|
||||
DatasetDO updateObj = BeanUtils.toBean(updateReqVO, DatasetDO.class);
|
||||
List<DatasetFilesSaveReqVO> datasetFiles = updateReqVO.getDatasetFiles();
|
||||
// 提取id 先过滤掉没有id 再提取
|
||||
List<Long> updateIds = datasetFiles.stream().filter(
|
||||
datasetFilesSaveReqVO -> datasetFilesSaveReqVO.getId() != null
|
||||
).map(
|
||||
datasetFilesSaveReqVO -> datasetFilesSaveReqVO.getId()
|
||||
).collect(Collectors.toList());
|
||||
List<DatasetFilesDO> datasetFilesDOS = datasetFilesMapper.selectList(new LambdaQueryWrapper<DatasetFilesDO>()
|
||||
.eq(DatasetFilesDO::getDatasetId, updateObj.getId()));
|
||||
// 提取之前数据集文件表的id
|
||||
List<Long> selectids = datasetFilesDOS.stream().map(
|
||||
datasetFilesDO -> datasetFilesDO.getId()
|
||||
).collect(Collectors.toList());
|
||||
|
||||
// 找出需要删除的文件主表id找差集
|
||||
List<Long> deleteIds = new ArrayList<>(selectids);
|
||||
deleteIds.removeAll(updateIds);
|
||||
// 删除操作
|
||||
if (CollectionUtils.isNotEmpty(deleteIds)){
|
||||
datasetFilesMapper.deleteBatchIds(deleteIds);
|
||||
datasetQuestionMapper.delete(new LambdaQueryWrapper<DatasetQuestionDO>()
|
||||
.in(DatasetQuestionDO::getDatasetFilesId, deleteIds));
|
||||
datasetAnswerMapper.delete(new LambdaQueryWrapper<DatasetAnswerDO>()
|
||||
.in(DatasetAnswerDO::getDatasetFilesId, deleteIds));
|
||||
}
|
||||
List<DatasetFilesSaveReqVO> noIdsDatasetFiles = null;
|
||||
|
||||
if (CollectionUtils.isNotEmpty(datasetFiles)) {
|
||||
datasetFiles.stream().forEach(
|
||||
// 提取出没有id的
|
||||
noIdsDatasetFiles = datasetFiles.stream().filter(
|
||||
datasetFilesSaveReqVO -> datasetFilesSaveReqVO.getId() == null
|
||||
).collect(Collectors.toList());
|
||||
noIdsDatasetFiles.stream().forEach(
|
||||
datasetFilesSaveReqVO -> {
|
||||
datasetFilesSaveReqVO.setDatasetId(updateObj.getId());
|
||||
}
|
||||
);
|
||||
parseFile(datasetFiles);
|
||||
if (CollectionUtils.isNotEmpty(noIdsDatasetFiles)){
|
||||
parseFile(datasetFiles);
|
||||
}
|
||||
Long count = datasetQuestionMapper.selectCount(new LambdaQueryWrapper<DatasetQuestionDO>()
|
||||
.eq(DatasetQuestionDO::getDatasetId, updateObj.getId()));
|
||||
updateObj.setDataLength(count);
|
||||
@ -174,10 +206,14 @@ public class DatasetServiceImpl implements DatasetService {
|
||||
if (formattedRatio != null) {
|
||||
updateObj.setAnnotateProgress(formattedRatio);
|
||||
}
|
||||
updateObj.setStatus(status);
|
||||
if (annoCount == 0) {
|
||||
updateObj.setStatus(0);
|
||||
status=0;
|
||||
}
|
||||
if (updateObj.getStatus() != status) {
|
||||
throw new ServiceException(new ErrorCode(
|
||||
20000, "数据集标注状态错误!应该是【" + DatasetStatusEnum.getStatusByName(status) + "】"));
|
||||
}
|
||||
updateObj.setStatus(status);
|
||||
}
|
||||
datasetMapper.updateById(updateObj);
|
||||
}
|
||||
@ -290,6 +326,8 @@ public class DatasetServiceImpl implements DatasetService {
|
||||
public DatasetRespVO getDataset (Long id) {
|
||||
DatasetDO datasetDO = datasetMapper.selectById(id);
|
||||
DatasetRespVO datasetRespVO = BeanUtils.toBean(datasetDO, DatasetRespVO.class);
|
||||
List<DatasetFilesDO> datasetFilesDOS = datasetFilesMapper.selectList(new LambdaQueryWrapper<DatasetFilesDO>().eq(DatasetFilesDO::getDatasetId, id));
|
||||
datasetRespVO.setDatasetFiles(BeanUtils.toBean(datasetFilesDOS, DatasetFilesRespVO.class));
|
||||
/*List<DatasetQuestionDO> datasetQuestionDO = datasetQuestionMapper.selectList(new LambdaQueryWrapper<DatasetQuestionDO>().eq(DatasetQuestionDO::getDatasetId, id));
|
||||
List<DatasetQuestionRespVO> datasetQuestionRespVOS = BeanUtils.toBean(datasetQuestionDO, DatasetQuestionRespVO.class);
|
||||
datasetRespVO.setDatasetQuestionRespVOS(datasetQuestionRespVOS);*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user