提交代码

This commit is contained in:
jiang 2024-12-20 18:13:17 +08:00
parent b79163cf0c
commit cedbff4a07
5 changed files with 58 additions and 24 deletions

View File

@ -51,4 +51,12 @@ public interface ModelEvaluateMapper {
* @return 结果 * @return 结果
*/ */
public int deleteAiModelEvaluateByIds(Long[] ids); public int deleteAiModelEvaluateByIds(Long[] ids);
/**
* 唯一性
*
* @param aiModelEvaluate 模型评价
* @return 条数
*/
public Integer checkUniqueEvaluateNameAndVersion(ModelEvaluate aiModelEvaluate);
} }

View File

@ -265,6 +265,7 @@ public class DataSetBasicFileServiceImpl implements DataSetBasicFileService {
entity.setIsDirectory("0"); entity.setIsDirectory("0");
entity.setParentId(Long.valueOf(parentId)); entity.setParentId(Long.valueOf(parentId));
dataSetBasicFileMapper.insertDataSetBasicFile(entity); dataSetBasicFileMapper.insertDataSetBasicFile(entity);
return AjaxResult.success(entity);
} }
return AjaxResult.success(); return AjaxResult.success();
} catch (Exception e) { } catch (Exception e) {

View File

@ -66,6 +66,10 @@ public class ModelEvaluateServiceImpl implements ModelEvaluateService {
aiModelEvaluate.setCreateTime(DateUtils.getNowDate()); aiModelEvaluate.setCreateTime(DateUtils.getNowDate());
aiModelEvaluate.setCreateBy(SecurityUtils.getUserId().toString()); aiModelEvaluate.setCreateBy(SecurityUtils.getUserId().toString());
try { try {
int i = aiModelEvaluateMapper.checkUniqueEvaluateNameAndVersion(aiModelEvaluate);
if (i > 0) {
return AjaxResult.error("评价已存在");
}
int rows = aiModelEvaluateMapper.insertAiModelEvaluate(aiModelEvaluate); int rows = aiModelEvaluateMapper.insertAiModelEvaluate(aiModelEvaluate);
return rows > 0 ? AjaxResult.success() : AjaxResult.error(); return rows > 0 ? AjaxResult.success() : AjaxResult.error();
} catch (Exception e) { } catch (Exception e) {
@ -83,6 +87,10 @@ public class ModelEvaluateServiceImpl implements ModelEvaluateService {
public AjaxResult updateAiModelEvaluate(ModelEvaluate aiModelEvaluate) { public AjaxResult updateAiModelEvaluate(ModelEvaluate aiModelEvaluate) {
aiModelEvaluate.setUpdateTime(DateUtils.getNowDate()); aiModelEvaluate.setUpdateTime(DateUtils.getNowDate());
try { try {
int i = aiModelEvaluateMapper.checkUniqueEvaluateNameAndVersion(aiModelEvaluate);
if (i > 0) {
return AjaxResult.error("评价已存在");
}
int rows = aiModelEvaluateMapper.updateAiModelEvaluate(aiModelEvaluate); int rows = aiModelEvaluateMapper.updateAiModelEvaluate(aiModelEvaluate);
return rows > 0 ? AjaxResult.success() : AjaxResult.error(); return rows > 0 ? AjaxResult.success() : AjaxResult.error();
} catch (Exception e) { } catch (Exception e) {

View File

@ -151,7 +151,9 @@ public class DatasetServiceImpl implements DatasetService {
} }
/**验证数据集名称的唯一性*/ /**
* 验证数据集名称的唯一性
*/
@Override @Override
public boolean checkDatasetNameUnique(DataSetEntity dataSet) { public boolean checkDatasetNameUnique(DataSetEntity dataSet) {
Long dataSetId = StringUtils.isNull(dataSet.getDatasetId()) ? -1L : dataSet.getDatasetId(); Long dataSetId = StringUtils.isNull(dataSet.getDatasetId()) ? -1L : dataSet.getDatasetId();
@ -308,12 +310,9 @@ public class DatasetServiceImpl implements DatasetService {
} }
/** /**
* 插入数据集文件映射关系 * 插入数据集文件映射关系
*
* @param dataSet 数据集实体包含数据集ID输入ID数据类型等信息 * @param dataSet 数据集实体包含数据集ID输入ID数据类型等信息
*/ */
private void insertDatasetFileMap(DataSetEntity dataSet) { private void insertDatasetFileMap(DataSetEntity dataSet) {
@ -322,19 +321,25 @@ public class DatasetServiceImpl implements DatasetService {
// 根据数据类型获取支持的文件后缀列表例如图片视频或音频 // 根据数据类型获取支持的文件后缀列表例如图片视频或音频
List<String> supportedFormats = getSupportedFormats(dataSet.getDataType()); List<String> supportedFormats = getSupportedFormats(dataSet.getDataType());
if (ObjectUtils.isNotEmpty(dataSet.getFileIds())) {
List<Long> fileIdList = Arrays.asList(dataSet.getFileIds());
// 批量插入文件映射关系
insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated());
} else {
// 筛选符合条件的文件ID列表 // 筛选符合条件的文件ID列表
List<Long> fileIdList = fileList.stream() List<Long> fileIdList = fileList.stream()
.filter(file -> isValidFile(file, supportedFormats)) // 过滤出符合条件的文件 .filter(file -> isValidFile(file, supportedFormats)) // 过滤出符合条件的文件
.map(DataSetBasicFileEntity::getFileId) // 提取文件ID .map(DataSetBasicFileEntity::getFileId) // 提取文件ID
.collect(Collectors.toList()); .collect(Collectors.toList());
// 批量插入文件映射关系 // 批量插入文件映射关系
insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated()); insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated());
} }
}
/** /**
* 根据数据类型获取支持的文件后缀列表 * 根据数据类型获取支持的文件后缀列表
*
* @param dataType 数据类型0 - 图片1 - 视频2 - 音频 * @param dataType 数据类型0 - 图片1 - 视频2 - 音频
* @return 支持的文件后缀列表例如图片格式返回 [".jpg", ".png", ".jpeg", ".bmp"] * @return 支持的文件后缀列表例如图片格式返回 [".jpg", ".png", ".jpeg", ".bmp"]
*/ */
@ -378,6 +383,7 @@ public class DatasetServiceImpl implements DatasetService {
/** /**
* 批量插入文件映射关系 * 批量插入文件映射关系
*
* @param datasetId 数据集ID * @param datasetId 数据集ID
* @param fileIdList 文件ID列表 * @param fileIdList 文件ID列表
* @param isAnnotated 是否标注标志 * @param isAnnotated 是否标注标志

View File

@ -71,6 +71,18 @@
<include refid="selectAiModelEvaluateVo"/> <include refid="selectAiModelEvaluateVo"/>
where ame.id = #{id} where ame.id = #{id}
</select> </select>
<select id="checkUniqueEvaluateNameAndVersion" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM ai_model_evaluate
WHERE evaluate_name = #{evaluateName}
AND enviro_conditions = #{enviroConditions}
AND evaluate_version = #{evaluateVersion}
AND process_speed = #{processSpeed}
AND memory_usage = #{memoryUsage}
<if test="id != null">
AND id != #{id}
</if>
</select>
<insert id="insertAiModelEvaluate" parameterType="com.bonus.ai.domain.ModelEvaluate"> <insert id="insertAiModelEvaluate" parameterType="com.bonus.ai.domain.ModelEvaluate">
insert into ai_model_evaluate insert into ai_model_evaluate
@ -115,7 +127,6 @@
<update id="updateAiModelEvaluate" parameterType="com.bonus.ai.domain.ModelEvaluate"> <update id="updateAiModelEvaluate" parameterType="com.bonus.ai.domain.ModelEvaluate">
update ai_model_evaluate update ai_model_evaluate
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="evaluateName != null">evaluate_name = #{evaluateName},</if> <if test="evaluateName != null">evaluate_name = #{evaluateName},</if>
<if test="evaluateVersion != null">evaluate_version = #{evaluateVersion},</if> <if test="evaluateVersion != null">evaluate_version = #{evaluateVersion},</if>
<if test="sampleAll != null">sample_all = #{sampleAll},</if> <if test="sampleAll != null">sample_all = #{sampleAll},</if>