diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationSubTaskEntity.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationSubTaskEntity.java new file mode 100644 index 0000000..f6e13ac --- /dev/null +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationSubTaskEntity.java @@ -0,0 +1,43 @@ +package com.bonus.ai.domain.dataset; + +import com.bonus.ai.domain.enums.AnnotationFileStatus; +import lombok.Data; + +import java.util.Date; + +@Data +public class AnnotationSubTaskEntity { + + AnnotationSubTaskEntity(Long taskId, Long datasetId, Long annotatorId, Long reviewerId, Long fileId){ + this.taskId = taskId; + this.datasetId = datasetId; + this.annotatorId = annotatorId; + this.reviewerId = reviewerId; + this.fileId = fileId; + } + /**任务名称*/ + private Long taskId; + /**数据集id*/ + private Long datasetId; + /**标注人员id*/ + private Long annotatorId; + /**审核人员id*/ + private Long reviewerId; + /**文件id*/ + private Long fileId; + + /**文件标注状态*/ + private AnnotationFileStatus annotateFileStatus; + /**标注结果*/ + private String annotationResult; + /**标注来源,0人工标注,1智能标注*/ + private String annotationSource; + + /**审核驳回原因*/ + private String auditFailedReason; + + /**标注时间*/ + private Date annotationTime; + /**审核时间*/ + private Date reviewTime; +} \ No newline at end of file diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationTaskEntity.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationTaskEntity.java new file mode 100644 index 0000000..5e7a126 --- /dev/null +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/AnnotationTaskEntity.java @@ -0,0 +1,47 @@ +package com.bonus.ai.domain.dataset; + +import com.bonus.ai.domain.enums.AnnotationFileStatus; +import com.bonus.ai.domain.enums.AnnotationTaskStatus; +import com.bonus.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class AnnotationTaskEntity extends BaseEntity { + + /**任务名称*/ + private Long taskId; + /**数据集id*/ + private Long datasetId; + /**标注团队id,为0表示未启用标注团队,1启用标注团队*/ + private String isStartTeam; + /**任务名称*/ + private String taskName; + /**任务描述*/ + private String taskDesc; + /**标注场景 数据类型:0图片,1视频 ,2音频,3自由格式*/ + private String annotateScene; + /**标注类型:图像分类,物体检测等*/ + private String annotateType; + /**标签集合,标签之间用逗号分隔*/ + private String labels; + + /**在线标注工具里关联的项目id*/ + Long projectId; + + AnnotationTaskStatus annotateTaskStatus; + + /**删除标志(0代表存在 1代表删除) */ + private String delFlag; + + /**标注人员列表*/ + private List annotators; + + /**审核人员列表*/ + private List reviewers; + + /**分配后子任务,一个标注文件对应一个子任务*/ + private List subAnnotationTasks; + +} diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/AnnotationTaskService.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/AnnotationTaskService.java new file mode 100644 index 0000000..3c76dc0 --- /dev/null +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/AnnotationTaskService.java @@ -0,0 +1,31 @@ +package com.bonus.ai.service.dataset; + +import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity; +import com.bonus.ai.domain.dataset.AnnotationTaskEntity; +import com.bonus.ai.domain.dataset.DataSetEntity; + +public interface AnnotationTaskService { + /**创建标注任务*/ + int createTask(AnnotationTaskEntity task); + + /**删除标注任务*/ + int deleteTaskById(Long taskId); + + /**修改标注任务*/ + int updateTask(AnnotationTaskEntity task); + + /**获取标注任务详情*/ + AnnotationTaskEntity getTaskInfo(Long taskId); + + /**手工标注*/ + void manualAnnotate(AnnotationSubTaskEntity subTask); + + /**AI自动标注*/ + void aiAnnotate(AnnotationSubTaskEntity subTask); + + /**根据类型获取标注任务列表*/ + DataSetEntity getTaskList(String type); + + /**检查标注任务名唯一性*/ + boolean checkTaskNameUnique(AnnotationTaskEntity task); +}