feat: complete review detail backend chain
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
"""评查详情聚合 VO。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class ReviewPointResultVO(BaseModel):
|
||||
"""前端评查详情页所需的单条评查点结果。"""
|
||||
|
||||
id: str | int = Field(..., description="评查结果ID")
|
||||
documentId: str = Field(..., description="文档ID")
|
||||
pointId: str | int = Field(..., description="评查点/规则ID")
|
||||
editAuditStatusId: str | int = Field("", description="人工审核状态ID")
|
||||
editAuditStatus: int = Field(0, description="人工审核状态")
|
||||
editAuditStatusMessage: str = Field("", description="人工审核意见")
|
||||
title: str = Field("", description="标题")
|
||||
pointName: str = Field("", description="评查点名称")
|
||||
pointCode: str = Field("", description="评查点编码")
|
||||
groupName: str = Field("", description="所属分组名")
|
||||
status: str = Field("success", description="success/warning/error/notApplicable")
|
||||
content: dict[str, Any] = Field(default_factory=dict, description="抽取字段内容")
|
||||
contentPage: dict[str, str] = Field(default_factory=dict, description="字段页码映射")
|
||||
suggestion: str = Field("", description="建议内容")
|
||||
postAction: str = Field("", description="后续动作")
|
||||
actionContent: Any = Field(default_factory=dict, description="动作配置")
|
||||
legalBasis: Any = Field(default_factory=dict, description="法律依据")
|
||||
evaluationConfig: Any = Field(default_factory=dict, description="评查配置")
|
||||
score: float = Field(0, description="分值")
|
||||
finalScore: float | None = Field(None, description="最终得分")
|
||||
machineScore: float | None = Field(None, description="机器得分")
|
||||
result: bool | None = Field(None, description="是否通过")
|
||||
failMessage: str = Field("", description="失败提示")
|
||||
passMessage: str = Field("", description="通过提示")
|
||||
evaluatedPointResultsLog: dict[str, Any] = Field(default_factory=dict, description="规则执行日志")
|
||||
|
||||
|
||||
class ReviewPointStatsVO(BaseModel):
|
||||
"""统计信息。"""
|
||||
|
||||
total: int = Field(0, description="总数")
|
||||
success: int = Field(0, description="通过数")
|
||||
warning: int = Field(0, description="警告数")
|
||||
error: int = Field(0, description="错误数")
|
||||
score: float = Field(0, description="总分")
|
||||
|
||||
|
||||
class ReviewPointInfoVO(BaseModel):
|
||||
"""评查摘要信息。"""
|
||||
|
||||
reviewTime: str = Field("", description="评查时间")
|
||||
reviewModel: str = Field("DeepSeek", description="评查模型")
|
||||
ruleGroup: str = Field("", description="规则组")
|
||||
result: str = Field("success", description="总体结果")
|
||||
issueCount: int = Field(0, description="问题数")
|
||||
|
||||
|
||||
class ReviewPointsAggregateVO(BaseModel):
|
||||
"""评查详情聚合响应。"""
|
||||
|
||||
data: list[ReviewPointResultVO] = Field(default_factory=list, description="评查点结果")
|
||||
stats: ReviewPointStatsVO = Field(default_factory=ReviewPointStatsVO, description="统计信息")
|
||||
reviewInfo: ReviewPointInfoVO = Field(default_factory=ReviewPointInfoVO, description="评查摘要")
|
||||
document: dict[str, Any] | None = Field(default=None, description="文档信息")
|
||||
comparison_document: dict[str, Any] | None = Field(default=None, description="比对文档信息")
|
||||
scoring_proposals: list[dict[str, Any]] = Field(default_factory=list, description="评分提案")
|
||||
|
||||
|
||||
class ReviewPointAuditVO(BaseModel):
|
||||
"""评查点人工审核更新结果。"""
|
||||
|
||||
reviewPointResultId: int = Field(..., description="规则结果ID")
|
||||
editAuditStatusId: int = Field(..., description="审核记录ID")
|
||||
editAuditStatus: int = Field(..., description="审核状态")
|
||||
overrideResult: bool | None = Field(default=None, description="人工覆盖结果")
|
||||
message: str = Field("", description="审核意见")
|
||||
|
||||
|
||||
class DocumentConfirmVO(BaseModel):
|
||||
"""文档确认评查结果。"""
|
||||
|
||||
documentId: int = Field(..., description="文档ID")
|
||||
auditStatus: int = Field(..., description="文档审核状态")
|
||||
Reference in New Issue
Block a user