feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
@@ -3,6 +3,7 @@
from pydantic import BaseModel, Field
from fastapi_modules.fastapi_leaudit.domian.vo.auditVo import AuditRunVO
from fastapi_modules.fastapi_leaudit.domian.vo.pageQualityVo import PageQualitySummaryVO
class DocumentUploadVO(BaseModel):
@@ -20,11 +21,16 @@ class DocumentUploadVO(BaseModel):
typeCode: str = Field(..., description="文档类型编码")
groupId: int | None = Field(None, description="命中的二级分组ID")
region: str = Field(..., description="所属地区")
tenantCode: str | None = Field(None, description="所属租户编码")
tenantName: str | None = Field(None, description="所属租户名称")
fileName: str = Field(..., description="文件名")
ossUrl: str = Field(..., description="OSS 对象路径")
speed: str = Field(..., description="执行速度档位:urgent/normal")
processingStatus: str = Field(..., description="文档处理状态")
autoRunTriggered: bool = Field(..., description="是否已自动触发评查")
pageQualityRunId: int | None = Field(None, description="页级模糊检测运行ID")
pageQualityRunStatus: str | None = Field(None, description="页级模糊检测运行状态")
pageQualitySummaryStatus: str | None = Field(None, description="页级模糊检测摘要状态")
run: AuditRunVO | None = Field(None, description="自动触发后的运行信息")
@@ -47,6 +53,11 @@ class DocumentStatusItemVO(BaseModel):
runStatus: str | None = Field(None, description="当前运行状态")
phase: str | None = Field(None, description="当前运行阶段")
resultStatus: str | None = Field(None, description="当前结果状态")
pageQualityRunId: int | None = Field(None, description="页级模糊检测运行ID")
pageQualityRunStatus: str | None = Field(None, description="页级模糊检测运行状态")
pageQualitySummaryStatus: str | None = Field(None, description="页级模糊检测摘要状态")
pageQualityReviewPageCount: int = Field(0, description="疑似模糊页数")
pageQualityRejectPageCount: int = Field(0, description="建议重拍页数")
updatedAt: str | None = Field(None, description="更新时间")
@@ -99,6 +110,8 @@ class DocumentListItemVO(BaseModel):
groupId: int | None = Field(None, description="命中的二级分组ID")
groupName: str | None = Field(None, description="二级分组名称")
region: str = Field(..., description="区域")
tenantCode: str | None = Field(None, description="所属租户编码")
tenantName: str | None = Field(None, description="所属租户名称")
normalizedName: str | None = Field(None, description="归一化名称")
fileId: int | None = Field(None, description="文件ID")
fileName: str | None = Field(None, description="文件名")
@@ -119,6 +132,11 @@ class DocumentListItemVO(BaseModel):
documentNumber: str | None = Field(None, description="业务文号/案号")
auditStatus: int | None = Field(None, description="人工维护审核状态")
isTestDocument: bool = Field(False, description="是否测试文档")
pageQualityRunId: int | None = Field(None, description="页级模糊检测运行ID")
pageQualityRunStatus: str | None = Field(None, description="页级模糊检测运行状态")
pageQualitySummaryStatus: str | None = Field(None, description="页级模糊检测摘要状态")
pageQualityIssueCount: int = Field(0, description="页级问题页数")
pageQualityWarningText: str | None = Field(None, description="页级模糊预警文案")
updatedAt: str | None = Field(None, description="更新时间")
hasHistory: bool = Field(False, description="是否存在历史版本")
totalVersions: int = Field(1, description="总版本数")
@@ -130,6 +148,7 @@ class DocumentDetailVO(DocumentListItemVO):
remark: str | None = Field(None, description="备注")
pageCount: int | None = Field(None, description="页数,暂无精确值时可为空")
pageQualitySummary: PageQualitySummaryVO | None = Field(None, description="页级模糊检测摘要")
attachments: list[DocumentAttachmentVO] = Field(default_factory=list, description="附件列表")