标注结果和标注结果归档优化
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// AnnotationResultHistoryPageQuery.java
|
||||
package com.labelsys.backend.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@Schema(description = "归档历史分页查询")
|
||||
public record AnnotationResultHistoryPageQuery(
|
||||
@Schema(description = "任务ID", example = "701") Long taskId,
|
||||
@Schema(description = "资源ID", example = "601") Long resourceId,
|
||||
@Schema(description = "页码", example = "1") Integer pageNo,
|
||||
@Schema(description = "每页数量", example = "10") Integer pageSize
|
||||
) {
|
||||
}
|
||||
@@ -1,12 +1,15 @@
|
||||
package com.labelsys.backend.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Schema(description = "合并审核结果请求")
|
||||
public record MergeReviewResultRequest(
|
||||
@Schema(description = "差异摘要 JSON", example = "{\"changed\":[{\"field\":\"answer\",\"from\":\"3天\",\"to\":\"72小时\"}],\"summary\":\"统一时间表达\"}") @NotBlank(message = "差异摘要不能为空") String diffSummary,
|
||||
@Schema(description = "最终问答内容 JSON", example = "[{\"question\":\"运输时效是多久?\",\"answer\":\"72小时\"}]") @NotBlank(message = "问答内容不能为空") String qaContentJson,
|
||||
@Schema(description = "审核备注", example = "已按审核意见合并,统一为小时口径。") String reviewComment
|
||||
@Schema(description = "合并后的答案映射,key为qa记录ID,value为合并后的答案")
|
||||
Map<String, String> mergedAnswers,
|
||||
|
||||
@Schema(description = "审核备注")
|
||||
String reviewComment
|
||||
) {
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,17 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@Schema(description = "资源分页查询请求")
|
||||
public record SourceResourcePageQuery(
|
||||
@Schema(description = "关键字", example = "运输") String keyword,
|
||||
@Schema(description = "资源类型", example = "TEXT") String resourceType,
|
||||
@Schema(description = "资源状态", example = "READY") String sourceStatus,
|
||||
@Schema(description = "页码", example = "1") Integer pageNo,
|
||||
@Schema(description = "每页数量", example = "10") Integer pageSize
|
||||
@Schema(description = "关键字", example = "运输") String keyword,
|
||||
@Schema(description = "资源类型", example = "TEXT") String resourceType,
|
||||
@Schema(description = "资源状态", example = "READY") String sourceStatus,
|
||||
@Schema(description = "页码(可选,与pageSize同时提供时启用分页)", example = "1") Integer pageNo,
|
||||
@Schema(description = "每页数量(可选,与pageNo同时提供时启用分页)", example = "10") Integer pageSize
|
||||
) {
|
||||
}
|
||||
/**
|
||||
* 判断是否需要分页
|
||||
* @return true表示需要分页,false表示查询全部
|
||||
*/
|
||||
public boolean needPagination() {
|
||||
return pageNo != null && pageSize != null;
|
||||
}
|
||||
}
|
||||
@@ -2,15 +2,34 @@ package com.labelsys.backend.dto.response;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "标注结果比对响应")
|
||||
public record AnnotationResultCompareResponse(
|
||||
@Schema(description = "结果ID", example = "191000000000000401") Long id,
|
||||
@Schema(description = "任务ID", example = "191000000000000301") Long taskId,
|
||||
@Schema(description = "资源ID", example = "191000000000000101") Long resourceId,
|
||||
@Schema(description = "问答内容 JSON", example = "[{\"question\":\"运输时效是多久?\",\"answer\":\"3天\"}]") String qaContentJson,
|
||||
@Schema(description = "差异摘要 JSON", example = "{\"changed\":[{\"field\":\"answer\",\"from\":\"3天\",\"to\":\"72小时\"}],\"summary\":\"统一时间表达\"}") String diffSummary,
|
||||
@Schema(description = "问答存储模式", example = "EXTERNAL") String qaContentStorageMode,
|
||||
@Schema(description = "外置问答文件路径", example = "review/191000000000000401/qa-content.json") String qaContentFilePath,
|
||||
@Schema(description = "资源预览路径", example = "preview/191000000000000101/index.html") String sourcePreviewPath
|
||||
@Schema(description = "结果ID", example = "191000000000000401") Long id,
|
||||
@Schema(description = "任务ID", example = "191000000000000301") Long taskId,
|
||||
@Schema(description = "资源ID", example = "191000000000000101") Long resourceId,
|
||||
|
||||
@Schema(description = "问答对列表") List<QaRecord> qaRecords,
|
||||
@Schema(description = "差异列表") List<DiffRecord> diffRecords,
|
||||
@Schema(description = "资源预览路径", example = "preview/191000000000000101/index.html") String sourcePreviewPath
|
||||
) {
|
||||
}
|
||||
|
||||
@Schema(description = "问答记录")
|
||||
public record QaRecord(
|
||||
@Schema(description = "记录ID", example = "qa_001") String id,
|
||||
@Schema(description = "问题", example = "运输时效是多久?") String question,
|
||||
@Schema(description = "答案", example = "3天") String answer,
|
||||
@Schema(description = "是否需要审核", example = "true") Boolean requiresReview
|
||||
) {}
|
||||
|
||||
@Schema(description = "差异记录")
|
||||
public record DiffRecord(
|
||||
@Schema(description = "关联的问答记录ID", example = "qa_001") String qaId,
|
||||
@Schema(description = "问题", example = "运输时效是多久?") String question,
|
||||
@Schema(description = "提取模型答案", example = "3天") String extractAnswer,
|
||||
@Schema(description = "校验模型答案", example = "72小时") String verifyAnswer,
|
||||
@Schema(description = "差异原因", example = "时间单位不一致") String diffReason,
|
||||
@Schema(description = "合并后的最终答案", example = "72小时(3天)") String mergedAnswer
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// AnnotationResultHistoryResponse.java
|
||||
package com.labelsys.backend.dto.response;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "归档历史响应")
|
||||
public record AnnotationResultHistoryResponse(
|
||||
@Schema(description = "历史记录ID", example = "901") Long id,
|
||||
@Schema(description = "来源结果ID", example = "802") Long sourceResultId,
|
||||
@Schema(description = "任务ID", example = "701") Long taskId,
|
||||
@Schema(description = "资源ID", example = "601") Long resourceId,
|
||||
@Schema(description = "问答内容文件路径", example = "annotation-results/2/qa/802.json") String qaContentFilePath,
|
||||
@Schema(description = "归档原因", example = "审核通过后归档") String archiveReason,
|
||||
@Schema(description = "归档操作人ID", example = "5") Long archivedBy,
|
||||
@Schema(description = "归档时间", example = "2026-05-06T10:30:00") LocalDateTime archivedAt,
|
||||
@Schema(description = "创建时间", example = "2026-05-06T10:30:00") LocalDateTime createdAt
|
||||
) {
|
||||
}
|
||||
@@ -1,21 +1,22 @@
|
||||
package com.labelsys.backend.dto.response;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.labelsys.backend.enums.AnnotationResultStatus;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "标注结果响应")
|
||||
public record AnnotationResultResponse(
|
||||
@Schema(description = "结果ID", example = "191000000000000401") Long id,
|
||||
@Schema(description = "任务ID", example = "191000000000000301") Long taskId,
|
||||
@Schema(description = "资源ID", example = "191000000000000101") Long resourceId,
|
||||
@Schema(description = "标注结果状态", example = "MANUAL_REVIEW_PENDING") AnnotationResultStatus runtimeStatus,
|
||||
@Schema(description = "是否需要人工审核", example = "true") Boolean requiresManualReview,
|
||||
@Schema(description = "是否已删除", example = "false") Boolean isDeleted,
|
||||
@Schema(description = "问答存储模式", example = "INLINE") String qaContentStorageMode,
|
||||
@Schema(description = "审核备注", example = "需统一时间字段口径。") String reviewComment,
|
||||
@Schema(description = "审核时间", example = "2026-04-27T11:00:00") LocalDateTime reviewedAt,
|
||||
@Schema(description = "创建时间", example = "2026-04-27T10:40:00") LocalDateTime createdAt
|
||||
@Schema(description = "结果ID", example = "191000000000000401") Long id,
|
||||
@Schema(description = "任务ID", example = "191000000000000301") Long taskId,
|
||||
@Schema(description = "资源ID", example = "191000000000000101") Long resourceId,
|
||||
@Schema(description = "标注结果状态", example = "MANUAL_REVIEW_PENDING") AnnotationResultStatus runtimeStatus,
|
||||
@Schema(description = "是否需要人工审核", example = "true") Boolean requiresManualReview,
|
||||
@Schema(description = "是否已删除", example = "false") Boolean isDeleted,
|
||||
@Schema(description = "问答内容文件路径", example = "annotation-results/2/qa/801.json") String qaContentFilePath,
|
||||
@Schema(description = "差异摘要文件路径", example = "annotation-results/2/diff/801.json") String diffSummaryFilePath,
|
||||
@Schema(description = "审核备注", example = "需统一时间字段口径。") String reviewComment,
|
||||
@Schema(description = "审核时间", example = "2026-04-27T11:00:00") LocalDateTime reviewedAt,
|
||||
@Schema(description = "创建时间", example = "2026-04-27T10:40:00") LocalDateTime createdAt
|
||||
) {
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ public record LoginResponse(
|
||||
@Schema(description = "用户名,可为空", example = "alpha-admin") String username,
|
||||
@Schema(description = "真实姓名", example = "张审核") String realName,
|
||||
@Schema(description = "角色,枚举值:EMPLOYEE员工、MANAGER部门经理、ENGINEER总工程师", example = "EMPLOYEE") UserRole role,
|
||||
@Schema(description = "岗位,枚举值:ANNOTATOR标注员、DATA_TRAINER数据训练师、REVIEWER审核员、ADMIN超级管理员", example = "REVIEWER") UserPosition position,
|
||||
@Schema(description = "岗位枚举,枚举值:ANNOTATOR标注员、DATA_TRAINER数据训练师、REVIEWER审核员、ADMIN公司管理员、SUPER_ADMIN超级管理员", example = "REVIEWER") UserPosition position,
|
||||
@Schema(description = "是否必须修改密码", example = "false") boolean mustChangePassword
|
||||
) {
|
||||
public static LoginResponse from(String token, LoginUser loginUser, SysCompany company) {
|
||||
|
||||
@@ -13,9 +13,10 @@ public record SourceResourceResponse(
|
||||
@Schema(description = "文件大小", example = "20480") Long fileSize,
|
||||
@Schema(description = "资源状态", example = "READY") String sourceStatus,
|
||||
@Schema(description = "存储提供方", example = "rustfs") String storageProvider,
|
||||
@Schema(description = "是否有BBOX标注,不显示", example = "false") Boolean hasBbox,
|
||||
@Schema(description = "备注", example = "第一批导入样本") String remark,
|
||||
@Schema(description = "创建人名称", example = "张审核") String creatorName,
|
||||
@Schema(description = "创建时间", example = "2026-04-27T10:00:00") LocalDateTime createdAt,
|
||||
@Schema(description = "更新时间", example = "2026-04-27T10:05:00") LocalDateTime updatedAt
|
||||
) {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user