修改数据集管理--数据标注删除不了的bug

This commit is contained in:
sunxiqing 2025-01-06 14:45:01 +08:00
parent 0fd15cb3ad
commit 642aff34a6

View File

@ -108,7 +108,12 @@ public class DatasetQuestionServiceImpl implements DatasetQuestionService {
@Override
public void updateDatasetQuestionDataAnno(List<DatasetQuestionSaveReqVO> updateReqVOS) {
updateReqVOS.forEach(updateReqVO -> {
List<Long> ids = new ArrayList<>();
Long datasetId = null;
for (DatasetQuestionSaveReqVO updateReqVO : updateReqVOS){
if (datasetId == null){
datasetId = updateReqVO.getDatasetId();
}
DatasetQuestionDO datasetQuestionDO = BeanUtils.toBean(updateReqVO, DatasetQuestionDO.class);
if (CollectionUtils.isNotEmpty(updateReqVO.getDatasetAnswerRespVO())){
datasetQuestionDO.setStatus(2);
@ -117,9 +122,33 @@ public class DatasetQuestionServiceImpl implements DatasetQuestionService {
List<DatasetAnswerSaveReqVO> datasetAnswerSaveReqVO = updateReqVO.getDatasetAnswerRespVO();
List<DatasetAnswerDO> datasetAnswerDOS = BeanUtils.toBean(datasetAnswerSaveReqVO, DatasetAnswerDO.class);
if (CollectionUtils.isNotEmpty(datasetAnswerDOS)){
datasetAnswerMapper.insertOrUpdate(datasetAnswerDOS);
for (DatasetAnswerDO datasetAnswerDO : datasetAnswerDOS){
if (datasetAnswerDO.getId() == null){
datasetAnswerMapper.insert(datasetAnswerDO);
ids.add(datasetAnswerDO.getId());
}else {
ids.add(datasetAnswerDO.getId());
datasetAnswerMapper.updateById(datasetAnswerDO);
}
}
// datasetAnswerMapper.insertOrUpdate(datasetAnswerDOS);
}
});
}
LambdaQueryWrapper<DatasetAnswerDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(datasetId!= null,DatasetAnswerDO::getDatasetId, datasetId);
List<DatasetAnswerDO> datasetAnswerDOS = datasetAnswerMapper.selectList(queryWrapper);
List<Long> collect = datasetAnswerDOS.stream().map(DatasetAnswerDO::getId).collect(Collectors.toList());
List<Long> diff1 = new ArrayList<>();
if (CollectionUtils.isNotEmpty(collect)){
HashSet<Long> set1 = new HashSet<>(ids);
HashSet<Long> set2 = new HashSet<>(collect);
// 获取 set2 中有但 set1 中没有的元素
set2.removeAll(set1);
diff1 = new ArrayList<>(set2);
}
if (CollectionUtils.isNotEmpty(diff1)){
datasetAnswerMapper.deleteBatchIds(diff1);
}
// 标注进度修改
LambdaQueryWrapper<DatasetQuestionDO> wrapper = new LambdaQueryWrapper<DatasetQuestionDO>()
.eq(DatasetQuestionDO::getDatasetId, updateReqVOS.get(0).getDatasetId());
@ -132,4 +161,4 @@ public class DatasetQuestionServiceImpl implements DatasetQuestionService {
datasetMapper.updateProcess(formattedRatio, updateReqVOS.get(0).getDatasetId(),status);
}
}
}