增加数据集状态校验

This commit is contained in:
limin 2025-01-15 14:36:49 +08:00
parent aa05b784e2
commit 0d5952415d
2 changed files with 36 additions and 3 deletions

View File

@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.llm.enums;
import cn.hutool.core.util.ObjUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
@Getter
@AllArgsConstructor
public enum DatasetStatusEnum {
NOPENDING("未标注",0),
RUNNING("进行中",1),
SUCCESS("已完成",2);
private final String name;
private final Integer status;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DatasetStatusEnum::getStatus).toArray();
public static String getStatusByName(Integer status) {
for (DatasetStatusEnum name : values()) {
if (ObjUtil.equal(name.getStatus(), status)) {
return name.getName();
}
}
return null; // 如果未找到对应的 name返回 null
}
}

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.llm.service.dataset;
import cn.hutool.core.io.IoUtil;
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@ -18,6 +19,7 @@ import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetAnswerMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetFilesMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetQuestionMapper;
import cn.iocoder.yudao.module.llm.enums.DatasetStatusEnum;
import cn.iocoder.yudao.module.llm.utils.DataSetReadFileUtils;
import cn.iocoder.yudao.module.llm.utils.vo.CsvDataSetVO;
import com.alibaba.fastjson.JSON;
@ -106,10 +108,14 @@ public class DatasetServiceImpl implements DatasetService {
if (formattedRatio != null) {
dataset.setAnnotateProgress(formattedRatio);
}
dataset.setStatus(status);
if (annoCount == 0) {
dataset.setStatus(0);
if (annoCount == 0){
status = 0;
}
if (dataset.getStatus() != status){
throw new ServiceException(new ErrorCode(
20000, "数据集标注状态错误!应该是【"+ DatasetStatusEnum.getStatusByName(status)+""));
}
dataset.setStatus(status);
datasetMapper.updateById(dataset);
}
return dataset.getId();