From cedbff4a0771ad987dcd69e9cb342f2df85df671 Mon Sep 17 00:00:00 2001 From: jiang Date: Fri, 20 Dec 2024 18:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/ai/mapper/ModelEvaluateMapper.java | 8 +++ .../Impl/DataSetBasicFileServiceImpl.java | 3 +- .../Impl/ModelEvaluateServiceImpl.java | 8 +++ .../Impl/dataset/DatasetServiceImpl.java | 50 +++++++++++-------- .../resources/mapper/ModelEvaluateMapper.xml | 13 ++++- 5 files changed, 58 insertions(+), 24 deletions(-) diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/ModelEvaluateMapper.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/ModelEvaluateMapper.java index a3eb0f8..eecd9eb 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/ModelEvaluateMapper.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/ModelEvaluateMapper.java @@ -51,4 +51,12 @@ public interface ModelEvaluateMapper { * @return 结果 */ public int deleteAiModelEvaluateByIds(Long[] ids); + + /** + * 唯一性 + * + * @param aiModelEvaluate 模型评价 + * @return 条数 + */ + public Integer checkUniqueEvaluateNameAndVersion(ModelEvaluate aiModelEvaluate); } diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/DataSetBasicFileServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/DataSetBasicFileServiceImpl.java index c46e682..92fbb59 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/DataSetBasicFileServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/DataSetBasicFileServiceImpl.java @@ -265,6 +265,7 @@ public class DataSetBasicFileServiceImpl implements DataSetBasicFileService { entity.setIsDirectory("0"); entity.setParentId(Long.valueOf(parentId)); dataSetBasicFileMapper.insertDataSetBasicFile(entity); + return AjaxResult.success(entity); } return AjaxResult.success(); } 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()); Long parentId = fileEntity.getParentId(); while (parentId != null && !parentId.equals(directoryId)) { // 判断是否有父目录 diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/ModelEvaluateServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/ModelEvaluateServiceImpl.java index b6dd8fb..cd08ec6 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/ModelEvaluateServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/ModelEvaluateServiceImpl.java @@ -66,6 +66,10 @@ public class ModelEvaluateServiceImpl implements ModelEvaluateService { aiModelEvaluate.setCreateTime(DateUtils.getNowDate()); aiModelEvaluate.setCreateBy(SecurityUtils.getUserId().toString()); try { + int i = aiModelEvaluateMapper.checkUniqueEvaluateNameAndVersion(aiModelEvaluate); + if (i > 0) { + return AjaxResult.error("评价已存在"); + } int rows = aiModelEvaluateMapper.insertAiModelEvaluate(aiModelEvaluate); return rows > 0 ? AjaxResult.success() : AjaxResult.error(); } catch (Exception e) { @@ -83,6 +87,10 @@ public class ModelEvaluateServiceImpl implements ModelEvaluateService { public AjaxResult updateAiModelEvaluate(ModelEvaluate aiModelEvaluate) { aiModelEvaluate.setUpdateTime(DateUtils.getNowDate()); try { + int i = aiModelEvaluateMapper.checkUniqueEvaluateNameAndVersion(aiModelEvaluate); + if (i > 0) { + return AjaxResult.error("评价已存在"); + } int rows = aiModelEvaluateMapper.updateAiModelEvaluate(aiModelEvaluate); return rows > 0 ? AjaxResult.success() : AjaxResult.error(); } catch (Exception e) { diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/DatasetServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/DatasetServiceImpl.java index 28fd5dc..8206004 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/DatasetServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/DatasetServiceImpl.java @@ -109,7 +109,7 @@ public class DatasetServiceImpl implements DatasetService { @Override public List getDatasetList(DataSetEntity dataSet) { try { - if (ObjectUtils.isEmpty(dataSet.getIsPublic())){ + if (ObjectUtils.isEmpty(dataSet.getIsPublic())) { String userId = SecurityUtils.getUserId().toString(); dataSet.setCreateBy(userId); } @@ -139,7 +139,7 @@ public class DatasetServiceImpl implements DatasetService { dataSetEntity.setDatasetId(Long.valueOf(datasetId)); if ("1".equals(isPublic) || "0".equals(isPublic)) { dataSetEntity.setIsPublic(isPublic); - }else { + } else { dataSetEntity.setIsPublic("0"); } datasetMapper.update(dataSetEntity); @@ -151,9 +151,11 @@ public class DatasetServiceImpl implements DatasetService { } - /**验证数据集名称的唯一性*/ + /** + * 验证数据集名称的唯一性 + */ @Override - public boolean checkDatasetNameUnique(DataSetEntity dataSet){ + public boolean checkDatasetNameUnique(DataSetEntity dataSet) { Long dataSetId = StringUtils.isNull(dataSet.getDatasetId()) ? -1L : dataSet.getDatasetId(); DataSetEntity info = datasetMapper.checkDatasetNameUnique(dataSet.getDatasetName()); if (StringUtils.isNotNull(info) && info.getDatasetId().longValue() != dataSetId.longValue()) { @@ -181,7 +183,7 @@ public class DatasetServiceImpl implements DatasetService { */ @Override 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) { List list = datasetFileMapper.selectFilesByDatasetId(datasetId); try { - downloadMultipleFiles(response,list); - }catch (Exception e){ + downloadMultipleFiles(response, list); + } catch (Exception e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } @@ -308,12 +310,9 @@ public class DatasetServiceImpl implements DatasetService { } - - - - /** * 插入数据集文件映射关系 + * * @param dataSet 数据集实体,包含数据集ID、输入ID、数据类型等信息 */ private void insertDatasetFileMap(DataSetEntity dataSet) { @@ -322,19 +321,25 @@ public class DatasetServiceImpl implements DatasetService { // 根据数据类型获取支持的文件后缀列表,例如图片、视频或音频 List supportedFormats = getSupportedFormats(dataSet.getDataType()); + if (ObjectUtils.isNotEmpty(dataSet.getFileIds())) { + List fileIdList = Arrays.asList(dataSet.getFileIds()); + // 批量插入文件映射关系 + insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated()); + } else { + // 筛选符合条件的文件ID列表 + List fileIdList = fileList.stream() + .filter(file -> isValidFile(file, supportedFormats)) // 过滤出符合条件的文件 + .map(DataSetBasicFileEntity::getFileId) // 提取文件ID + .collect(Collectors.toList()); + // 批量插入文件映射关系 + insertDatasetFileMap(dataSet.getDatasetId(), fileIdList, dataSet.getIsAnnotated()); + } - // 筛选符合条件的文件ID列表 - List 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 - 音频 * @return 支持的文件后缀列表,例如图片格式返回 [".jpg", ".png", ".jpeg", ".bmp"] */ @@ -354,7 +359,7 @@ public class DatasetServiceImpl implements DatasetService { /** * 判断文件是否符合筛选条件 * - * @param file 数据集基础文件实体,包含文件名、是否为目录等属性 + * @param file 数据集基础文件实体,包含文件名、是否为目录等属性 * @param supportedFormats 支持的文件后缀列表 * @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 是否标注标志 */ private void insertDatasetFileMap(Long datasetId, List fileIdList, String isAnnotated) { diff --git a/bonus-modules/bonus-ai/src/main/resources/mapper/ModelEvaluateMapper.xml b/bonus-modules/bonus-ai/src/main/resources/mapper/ModelEvaluateMapper.xml index 60958c7..2ba6d54 100644 --- a/bonus-modules/bonus-ai/src/main/resources/mapper/ModelEvaluateMapper.xml +++ b/bonus-modules/bonus-ai/src/main/resources/mapper/ModelEvaluateMapper.xml @@ -71,6 +71,18 @@ where ame.id = #{id} + insert into ai_model_evaluate @@ -115,7 +127,6 @@ update ai_model_evaluate - create_by = #{createBy}, evaluate_name = #{evaluateName}, evaluate_version = #{evaluateVersion}, sample_all = #{sampleAll},