提交代码
This commit is contained in:
parent
f612b15f62
commit
2070ab3276
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
Loading…
Reference in New Issue