提交代码

This commit is contained in:
jiang 2024-12-16 21:42:19 +08:00
parent f612b15f62
commit 2070ab3276
5 changed files with 36 additions and 9 deletions

View File

@ -33,6 +33,11 @@ public class AnnotationExportController {
@Resource
private MinioUtil minioUtil;
@RequiresPermissions("dataCenter:task:annotation:export")
@PostMapping("/export/{versionId}")
public void exportAuditedAnnotations(HttpServletResponse response, HttpServletRequest request, @PathVariable Long versionId) {

View File

@ -15,6 +15,7 @@ public interface ReleaseVersionMapper {
/**
* 获取数据集版本列表
*
* @param entity 筛选条件
* @return 集合
*/
@ -22,19 +23,23 @@ public interface ReleaseVersionMapper {
/**
* 发布版本
*
* @param version 数据
* @return 条数
*/
int release(ReleaseVersionEntity version);
int selectVersionName(ReleaseVersionEntity version);
/**
* 删除版本发布
*
* @param versionIds 版本集合
* @return 条数
*/
int delete(Long[] versionIds);
void releaseMap( @Param("taskBasicFile") List<DataSetBasicFileEntity> taskBasicFile,@Param("versionId") Long versionId);
void releaseMap(@Param("taskBasicFile") List<DataSetBasicFileEntity> taskBasicFile, @Param("versionId") Long versionId);
List<DataSetBasicFileEntity> getReleaseMapList(Long versionId);

View File

@ -353,21 +353,29 @@ public class DatasetServiceImpl implements DatasetService {
/**
* 判断文件是否符合筛选条件
*
* @param file 数据集基础文件实体包含文件名是否为目录等属性
* @param supportedFormats 支持的文件后缀列表
* @return 如果文件符合条件则返回 true否则返回 false
*/
private boolean isValidFile(DataSetBasicFileEntity file, List<String> supportedFormats) {
// 如果 supportedFormats 为空不校验后缀直接返回文件不是目录的结果
if (supportedFormats == null || supportedFormats.isEmpty()) {
return "0".equals(file.getIsDirectory());
// 检查是否为目录目录返回 false
if ("1".equals(file.getIsDirectory())) {
return false;
}
// 校验文件后缀
return "0".equals(file.getIsDirectory()) && // 确保文件不是目录
supportedFormats.stream() // 遍历支持的文件后缀
.anyMatch(format -> file.getFileName().toLowerCase().endsWith(format)); // 文件名后缀匹配
// 如果 supportedFormats 为空或无内容不校验后缀直接返回 true
if (supportedFormats == null || supportedFormats.isEmpty()) {
return true;
}
// 校验文件名后缀是否符合支持的格式
String fileName = file.getFileName().toLowerCase();
return supportedFormats.stream()
.anyMatch(format -> fileName.endsWith(format));
}
/**
* 批量插入文件映射关系
* @param datasetId 数据集ID

View File

@ -54,6 +54,10 @@ public class ReleaseVersionServiceImpl implements ReleaseVersionService {
return AjaxResult.error("不存在已审核的标注信息,不能发布");
}
version.setCreateBy(SecurityUtils.getUserId().toString());
int i = mapper.selectVersionName(version);
if (i > 0) {
return AjaxResult.error("版本名称已存在");
}
int num = mapper.release(version);
if (num > 0) {
mapper.releaseMap(taskBasicFile, version.getVersionId());

View File

@ -12,7 +12,6 @@
(#{versionId}, #{item.fileId}, #{item.annotationResult})
</foreach>
</insert>
<update id="delete">
update ai_dataset_version set del_flag='1' where version_id in
<foreach item="id" collection="array" open="(" separator="," close=")">
@ -64,4 +63,10 @@
LEFT JOIN ai_basic_file adf ON avfm.file_id = adf.file_id AND adf.del_flag = '0'
WHERE avfm.version_id =#{versionId}
</select>
<select id="selectVersionName" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM ai_dataset_version
WHERE version_name = #{versionName}
</select>
</mapper>