Merge remote-tracking branch 'xnjz/master'
This commit is contained in:
commit
d287405afe
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user