修改人工评估任务逻辑

This commit is contained in:
limin 2024-12-19 11:07:22 +08:00
parent f254e95844
commit d6305003f0

View File

@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAss
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -44,11 +45,13 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
ModelAssessTaskManualDO modelAssessTaskManual = BeanUtils.toBean(createReqVO, ModelAssessTaskManualDO.class);
modelAssessTaskManualMapper.insert(modelAssessTaskManual);
List<ModelAssessTaskDimensionSaveReqVO> dimensions = createReqVO.getDimensions();
dimensions.stream().forEach(dimension -> {
dimension.setTaskId(modelAssessTaskManual.getId());
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class);
modelAssessTaskDimensionMapper.insert(modelAssessTaskDimensionDO);
});
if (!CollectionUtils.isEmpty(dimensions)){
dimensions.stream().forEach(dimension -> {
dimension.setTaskId(modelAssessTaskManual.getId());
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class);
modelAssessTaskDimensionMapper.insert(modelAssessTaskDimensionDO);
});
}
// 返回
return modelAssessTaskManual.getId();
}
@ -60,19 +63,22 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
// 更新
ModelAssessTaskManualDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskManualDO.class);
List<ModelAssessTaskDimensionSaveReqVO> dimensions = updateReqVO.getDimensions();
List<Long> dimensionsIds = dimensions.stream()
.filter(dimension -> dimension.getId() != null)
.map(dimension -> dimension.getId()).collect(Collectors.toList());
LambdaQueryWrapper<ModelAssessTaskDimensionDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskDimensionDO>()
.eq(ModelAssessTaskDimensionDO::getTaskId, updateReqVO.getId());
if (!dimensionsIds.isEmpty()){
wrapper.notIn(ModelAssessTaskDimensionDO::getId,dimensionsIds);
if (!CollectionUtils.isEmpty(dimensions)) {
List<Long> dimensionsIds = dimensions.stream()
.filter(dimension -> dimension.getId() != null)
.map(dimension -> dimension.getId()).collect(Collectors.toList());
LambdaQueryWrapper<ModelAssessTaskDimensionDO> wrapper = new LambdaQueryWrapper<ModelAssessTaskDimensionDO>()
.eq(ModelAssessTaskDimensionDO::getTaskId, updateReqVO.getId());
if (!CollectionUtils.isEmpty(dimensionsIds)) {
wrapper.notIn(ModelAssessTaskDimensionDO::getId, dimensionsIds);
}
modelAssessTaskDimensionMapper.delete(wrapper);
dimensions.stream().forEach(dimension -> {
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension, ModelAssessTaskDimensionDO.class);
modelAssessTaskDimensionMapper.insertOrUpdate(modelAssessTaskDimensionDO);
});
}
modelAssessTaskDimensionMapper.delete(wrapper);
dimensions.stream().forEach(dimension -> {
ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class);
modelAssessTaskDimensionMapper.insertOrUpdate(modelAssessTaskDimensionDO);
});
modelAssessTaskManualMapper.updateById(updateObj);
}