diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/dataset/AnnotationTaskController.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/dataset/AnnotationTaskController.java index eb768db..910ad24 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/dataset/AnnotationTaskController.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/dataset/AnnotationTaskController.java @@ -3,6 +3,7 @@ package com.bonus.ai.controller.dataset; import com.bonus.ai.client.AnnotationParam; import com.bonus.ai.domain.DataSetBasicFileEntity; import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity; +import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity; import com.bonus.ai.domain.dataset.AnnotationTaskEntity; import com.bonus.ai.domain.dataset.DataSetEntity; import com.bonus.ai.service.DataSetBasicFileService; @@ -115,14 +116,34 @@ public class AnnotationTaskController extends BaseController { } + /** + * * 根据任务id返回由我审核任务的所有文件列表 + * @return 返回数据集详情 + */ + @GetMapping(value = "/getAuditFailReasonByTaskId/{taskId}/{fileId}") + public AjaxResult getAuditFailReasonByFileId(@PathVariable Long taskId, @PathVariable Long fileId) { + try { + String failReason = annotationTaskService.getAuditFailReasonByFileId(taskId, fileId); + if (failReason.isEmpty()) + { + failReason= "无"; + } + return AjaxResult.success(failReason); + }catch (Exception e){ + return AjaxResult.error("获取文件列表失败"); + } + } + + + /**手工标注或审核 * @param subTask 标注文件的信息 * @return 返回影响的行数或错误信 */ @PostMapping("/manualAnnotate") - public AjaxResult manualAnnotate(@Validated @RequestBody AnnotationSubTaskEntity subTask) { - - return AjaxResult.success(); + public AjaxResult manualAnnotate(@Validated @RequestBody AnnotationTaskAnnotatorEntity subTask) { + annotationTaskService.manualAnnotate(subTask); + return AjaxResult.success("手工标注保存成功"); } /**智能标注,预留接口 @@ -130,8 +151,9 @@ public class AnnotationTaskController extends BaseController { * @return 返回影响的行数或错误信 */ @PostMapping("/aiAnnotate") - public AjaxResult aiAnnotate(@Validated @RequestBody AnnotationSubTaskEntity subTask) { + public AjaxResult aiAnnotate(@Validated @RequestBody AnnotationTaskAnnotatorEntity subTask) { + annotationTaskService.aiAnnotate(subTask); return AjaxResult.success(); } 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 index e96f2f4..fd8e99b 100644 --- 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 @@ -52,8 +52,11 @@ public class AnnotationTaskEntity extends BaseEntity { private List subAnnotationTasks; /**用于查询目的*/ + /**根据任务id,标注人id或审核人id 和文件标注状态返回满足条件的文件列表*/ private Long annotatorId= 0L; private Long reviewerId = 0L; private String fileAnnotationStatus; + /**根据任务id 和文件id 返回审核驳回的原因*/ + private Long fileId = 0L; } diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/AnnotationTaskMapper.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/AnnotationTaskMapper.java index a4609d8..c186fbf 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/AnnotationTaskMapper.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/AnnotationTaskMapper.java @@ -35,13 +35,6 @@ public interface AnnotationTaskMapper */ int deleteAnnotationTaskById(Long taskId); - /** - * 根据任务ID查询标注任务 - * @param taskId 任务ID - * @return 标注任务实体 - */ - // AnnotationTaskEntity selectAnnotationTaskById(Long taskId); - /** * 查询标注任务列表 * @param annotationTask 查询条件 @@ -64,6 +57,7 @@ public interface AnnotationTaskMapper int deleteAnnotator(Long taskId); ListgetTaskBasicFile(AnnotationTaskEntity annotationTask); + String getAuditFailReasonByFileId(Long taskId, Long fileId); //这个接口不需要,可以扩展selectAnnotationTaskList // AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId); } diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/AnnotationTaskServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/AnnotationTaskServiceImpl.java index 6887093..508add3 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/AnnotationTaskServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/AnnotationTaskServiceImpl.java @@ -156,28 +156,6 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { e.printStackTrace(); } return status; - /* - //删除任务需要删除两个个表 对应两个个表删除状态修改成1 - AnnotationTaskEntity task = new AnnotationTaskEntity(); - task.setTaskId(taskId); - int status = 0; - try{ -// //删除主表任务信息 -// status = annotationTaskMapper.deleteTaskById(taskId); -// //删除团队成员表信息 -// status = annotationTaskMapper.deleteAnnotator(taskId); -// //查询对应的label studio project id , 删除这个标注任务对应的label studio project - List resultTask = annotationTaskMapper.selectAnnotationTaskList(task); - if (!resultTask.isEmpty()){ - Long project = resultTask.get(0).getLabelStudioProjectId(); - //删除对应的标注任务文件关联关系表信息 - onlineAnnotationService.deleteProjectById(String.valueOf(project)); - } - - }catch (Exception e){ - e.printStackTrace(); - } - */ } /** @@ -188,19 +166,15 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { @Override public AnnotationTaskEntity getTaskInfo(Long taskId) { - - AnnotationTaskEntity task = new AnnotationTaskEntity(); - task.setTaskId(taskId); try { + AnnotationTaskEntity task = new AnnotationTaskEntity(); + task.setTaskId(taskId); //查询对应的label studio project id , 从label studio这个标注任务对应的label studio project List resultTasks = annotationTaskMapper.selectAnnotationTaskList(task); - if (!resultTasks.isEmpty()) { - Long project = resultTasks.get(0).getLabelStudioProjectId(); - //删除对应的标注任务文件关联关系表信息 - ProjectParam projectParam = onlineAnnotationService.getProjectById(String.valueOf(project)); - AnnotationTaskEntity resultTask = resultTasks.get(0); - resultTask.setProjectParam(projectParam); + if (!resultTasks.isEmpty()) { + return resultTasks.get(0); } + } catch (Exception e){ e.printStackTrace(); } @@ -209,18 +183,23 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { @Override public List getMyAnnotaionTaskBasicFile(Long taskId, String annotationStatus){ - Long userId = SecurityUtils.getUserId(); - AnnotationTaskEntity task = new AnnotationTaskEntity(); - task.setTaskId(taskId); - task.setAnnotatorId(userId); - Long intAnnotationStatus = Long.valueOf(annotationStatus); - if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) { + try { + Long userId = SecurityUtils.getUserId(); + AnnotationTaskEntity task = new AnnotationTaskEntity(); + task.setTaskId(taskId); + task.setAnnotatorId(userId); + Long intAnnotationStatus = Long.valueOf(annotationStatus); + if (intAnnotationStatus < 4 && intAnnotationStatus >= 0) { + task.setFileAnnotationStatus(annotationStatus); + } else { + task.setFileAnnotationStatus("5"); + } task.setFileAnnotationStatus(annotationStatus); - } else { - task.setFileAnnotationStatus("5"); + return annotationTaskMapper.getTaskBasicFile(task); + }catch(Exception e){ + e.printStackTrace(); + return new ArrayList<>(); } - task.setFileAnnotationStatus(annotationStatus); - return annotationTaskMapper.getTaskBasicFile(task); } @Override @@ -238,6 +217,18 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { } return annotationTaskMapper.getTaskBasicFile(task); } + + + @Override + public String getAuditFailReasonByFileId(Long taskId, Long fileId){ + try { + return annotationTaskMapper.getAuditFailReasonByFileId(taskId, fileId); + }catch(Exception e){ + e.printStackTrace(); + return ""; + } + } + /** * 检查任务名称是否重复 * @param task @@ -253,7 +244,7 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { * 手工标注 */ @Override - public void manualAnnotate(AnnotationSubTaskEntity subTask) { + public void manualAnnotate(AnnotationTaskAnnotatorEntity subTask) { } @@ -261,7 +252,7 @@ public class AnnotationTaskServiceImpl implements AnnotationTaskService { * AI标注 */ @Override - public void aiAnnotate(AnnotationSubTaskEntity subTask) { + public void aiAnnotate(AnnotationTaskAnnotatorEntity subTask) { } 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 index 8d07dd3..ecdb415 100644 --- 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 @@ -2,6 +2,7 @@ package com.bonus.ai.service.dataset; import com.bonus.ai.domain.DataSetBasicFileEntity; import com.bonus.ai.domain.dataset.AnnotationSubTaskEntity; +import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity; import com.bonus.ai.domain.dataset.AnnotationTaskEntity; import com.bonus.ai.domain.dataset.DataSetEntity; import com.bonus.common.core.web.page.TableDataInfo; @@ -23,10 +24,10 @@ public interface AnnotationTaskService { AnnotationTaskEntity getTaskInfo(Long taskId); /**手工标注*/ - void manualAnnotate(AnnotationSubTaskEntity subTask); + void manualAnnotate(AnnotationTaskAnnotatorEntity subTask); /**AI自动标注*/ - void aiAnnotate(AnnotationSubTaskEntity subTask); + void aiAnnotate(AnnotationTaskAnnotatorEntity subTask); /**根据类型获取标注任务列表*/ List getTaskList(AnnotationTaskEntity task); @@ -37,5 +38,7 @@ public interface AnnotationTaskService { List getMyAnnotaionTaskBasicFile(Long taskId,String annotationStatus); List getMyAuditTaskBasicFile(Long taskId,String annotationStatus); + + String getAuditFailReasonByFileId(Long taskId, Long fileId); ; } diff --git a/bonus-modules/bonus-ai/src/main/resources/mapper/AnnotationTaskMapper.xml b/bonus-modules/bonus-ai/src/main/resources/mapper/AnnotationTaskMapper.xml index efa5a94..df0e8da 100644 --- a/bonus-modules/bonus-ai/src/main/resources/mapper/AnnotationTaskMapper.xml +++ b/bonus-modules/bonus-ai/src/main/resources/mapper/AnnotationTaskMapper.xml @@ -294,6 +294,14 @@ - +