增加获取审核驳回原因的接口

This commit is contained in:
weiweiw 2024-11-26 17:10:43 +08:00
parent 393d37e0c1
commit fb4353ca7a
6 changed files with 78 additions and 57 deletions

View File

@ -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();
}

View File

@ -52,8 +52,11 @@ public class AnnotationTaskEntity extends BaseEntity {
private List<AnnotationSubTaskEntity> subAnnotationTasks;
/**用于查询目的*/
/**根据任务id标注人id或审核人id 和文件标注状态返回满足条件的文件列表*/
private Long annotatorId= 0L;
private Long reviewerId = 0L;
private String fileAnnotationStatus;
/**根据任务id 和文件id 返回审核驳回的原因*/
private Long fileId = 0L;
}

View File

@ -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);
List<DataSetBasicFileEntity>getTaskBasicFile(AnnotationTaskEntity annotationTask);
String getAuditFailReasonByFileId(Long taskId, Long fileId);
//这个接口不需要可以扩展selectAnnotationTaskList
// AnnotationTaskEntity selectAnnotationTaskListUUID(Long taskId);
}

View File

@ -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<AnnotationTaskEntity> 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<AnnotationTaskEntity> 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<DataSetBasicFileEntity> 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) {
}

View File

@ -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<AnnotationTaskEntity> getTaskList(AnnotationTaskEntity task);
@ -37,5 +38,7 @@ public interface AnnotationTaskService {
List<DataSetBasicFileEntity> getMyAnnotaionTaskBasicFile(Long taskId,String annotationStatus);
List<DataSetBasicFileEntity> getMyAuditTaskBasicFile(Long taskId,String annotationStatus);
String getAuditFailReasonByFileId(Long taskId, Long fileId);
;
}

View File

@ -294,6 +294,14 @@
</if>
</select>
<select id="getAuditFailReasonByFileId" parameterType="com.bonus.ai.domain.dataset.AnnotationTaskEntity" resultType="String">
SELECT
atap.audit_failed_reason
FROM ai_basic_file abf
LEFT JOIN ai_dataset_file_map adfm ON abf.file_id = adfm.file_id
LEFT JOIN ai_annotation_task aat ON aat.dataset_id= adfm.dataset_id
LEFT JOIN ai_annotation_task_annotator_map atap on atap.task_id = aat.task_id
where abf.del_flag = '0' and aat.del_flag = '0' and aat.task_id = #{taskId} and adfm.file_id = #{fileId}
</select>
</mapper>