Merge remote-tracking branch 'origin/main'

This commit is contained in:
weiweiw 2024-12-31 13:18:18 +08:00
commit 2361deef1f
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) {
@ -648,7 +649,7 @@ public class DataSetBasicFileServiceImpl implements DataSetBasicFileService {
} }
// 递归获取文件的完整路径从文件到根目录 // 递归获取文件的完整路径从文件到根目录
private String getFullDirectoryPath(DataSetBasicFileEntity fileEntity,Long directoryId) { private String getFullDirectoryPath(DataSetBasicFileEntity fileEntity, Long directoryId) {
StringBuilder directoryPath = new StringBuilder(fileEntity.getFileName()); StringBuilder directoryPath = new StringBuilder(fileEntity.getFileName());
Long parentId = fileEntity.getParentId(); Long parentId = fileEntity.getParentId();
while (parentId != null && !parentId.equals(directoryId)) { // 判断是否有父目录 while (parentId != null && !parentId.equals(directoryId)) { // 判断是否有父目录

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

@ -109,7 +109,7 @@ public class DatasetServiceImpl implements DatasetService {
@Override @Override
public List<DataSetEntity> getDatasetList(DataSetEntity dataSet) { public List<DataSetEntity> getDatasetList(DataSetEntity dataSet) {
try { try {
if (ObjectUtils.isEmpty(dataSet.getIsPublic())){ if (ObjectUtils.isEmpty(dataSet.getIsPublic())) {
String userId = SecurityUtils.getUserId().toString(); String userId = SecurityUtils.getUserId().toString();
dataSet.setCreateBy(userId); dataSet.setCreateBy(userId);
} }
@ -139,7 +139,7 @@ public class DatasetServiceImpl implements DatasetService {
dataSetEntity.setDatasetId(Long.valueOf(datasetId)); dataSetEntity.setDatasetId(Long.valueOf(datasetId));
if ("1".equals(isPublic) || "0".equals(isPublic)) { if ("1".equals(isPublic) || "0".equals(isPublic)) {
dataSetEntity.setIsPublic(isPublic); dataSetEntity.setIsPublic(isPublic);
}else { } else {
dataSetEntity.setIsPublic("0"); dataSetEntity.setIsPublic("0");
} }
datasetMapper.update(dataSetEntity); datasetMapper.update(dataSetEntity);
@ -151,9 +151,11 @@ 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();
DataSetEntity info = datasetMapper.checkDatasetNameUnique(dataSet.getDatasetName()); DataSetEntity info = datasetMapper.checkDatasetNameUnique(dataSet.getDatasetName());
if (StringUtils.isNotNull(info) && info.getDatasetId().longValue() != dataSetId.longValue()) { if (StringUtils.isNotNull(info) && info.getDatasetId().longValue() != dataSetId.longValue()) {
@ -181,7 +183,7 @@ public class DatasetServiceImpl implements DatasetService {
*/ */
@Override @Override
public int removeDataSetBasicFile(String dataSetId, long[] fileIds) { public int removeDataSetBasicFile(String dataSetId, long[] fileIds) {
return datasetMapper.removeDataSetBasicFile(dataSetId,fileIds); return datasetMapper.removeDataSetBasicFile(dataSetId, fileIds);
} }
/** /**
@ -203,8 +205,8 @@ public class DatasetServiceImpl implements DatasetService {
public void exportDataset(HttpServletRequest request, HttpServletResponse response, Long datasetId) { public void exportDataset(HttpServletRequest request, HttpServletResponse response, Long datasetId) {
List<DataSetBasicFileEntity> list = datasetFileMapper.selectFilesByDatasetId(datasetId); List<DataSetBasicFileEntity> list = datasetFileMapper.selectFilesByDatasetId(datasetId);
try { try {
downloadMultipleFiles(response,list); downloadMultipleFiles(response, list);
}catch (Exception e){ } catch (Exception e) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
} }
@ -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列表
List<Long> fileIdList = fileList.stream()
.filter(file -> isValidFile(file, supportedFormats)) // 过滤出符合条件的文件
.map(DataSetBasicFileEntity::getFileId) // 提取文件ID
.collect(Collectors.toList());
// 批量插入文件映射关系
insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated());
}
// 筛选符合条件的文件ID列表
List<Long> fileIdList = fileList.stream()
.filter(file -> isValidFile(file, supportedFormats)) // 过滤出符合条件的文件
.map(DataSetBasicFileEntity::getFileId) // 提取文件ID
.collect(Collectors.toList());
// 批量插入文件映射关系
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"]
*/ */
@ -354,7 +359,7 @@ public class DatasetServiceImpl implements DatasetService {
/** /**
* 判断文件是否符合筛选条件 * 判断文件是否符合筛选条件
* *
* @param file 数据集基础文件实体包含文件名是否为目录等属性 * @param file 数据集基础文件实体包含文件名是否为目录等属性
* @param supportedFormats 支持的文件后缀列表 * @param supportedFormats 支持的文件后缀列表
* @return 如果文件符合条件则返回 true否则返回 false * @return 如果文件符合条件则返回 true否则返回 false
*/ */
@ -378,8 +383,9 @@ public class DatasetServiceImpl implements DatasetService {
/** /**
* 批量插入文件映射关系 * 批量插入文件映射关系
* @param datasetId 数据集ID *
* @param fileIdList 文件ID列表 * @param datasetId 数据集ID
* @param fileIdList 文件ID列表
* @param isAnnotated 是否标注标志 * @param isAnnotated 是否标注标志
*/ */
private void insertDatasetFileMap(Long datasetId, List<Long> fileIdList, String isAnnotated) { private void insertDatasetFileMap(Long datasetId, List<Long> fileIdList, String 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>