feat: add backend rule group and permission support

This commit is contained in:
wren
2026-05-06 09:40:37 +08:00
parent 7acbe0f1d9
commit 76ba7e65ed
45 changed files with 6175 additions and 110 deletions
@@ -18,6 +18,7 @@ class DocumentUploadVO(BaseModel):
fileId: int = Field(..., description="文档文件ID")
typeId: int = Field(..., description="文档类型ID")
typeCode: str = Field(..., description="文档类型编码")
groupId: int | None = Field(None, description="命中的二级分组ID")
region: str = Field(..., description="所属地区")
fileName: str = Field(..., description="文件名")
ossUrl: str = Field(..., description="OSS 对象路径")
@@ -27,6 +28,16 @@ class DocumentUploadVO(BaseModel):
run: AuditRunVO | None = Field(None, description="自动触发后的运行信息")
class DocumentStatusItemVO(BaseModel):
"""文档状态项。"""
documentId: int = Field(..., description="文档ID")
processingStatus: str | None = Field(None, description="处理状态")
runStatus: str | None = Field(None, description="当前运行状态")
resultStatus: str | None = Field(None, description="当前结果状态")
updatedAt: str | None = Field(None, description="更新时间")
class DocumentHistoryVersionVO(BaseModel):
"""历史版本摘要。"""
@@ -41,6 +52,20 @@ class DocumentHistoryVersionVO(BaseModel):
updatedAt: str | None = Field(None, description="更新时间")
class DocumentAttachmentVO(BaseModel):
"""文档附件项。"""
fileId: int = Field(..., description="附件文件ID")
fileName: str = Field(..., description="附件文件名")
fileExt: str | None = Field(None, description="附件扩展名")
mimeType: str | None = Field(None, description="附件 MIME 类型")
fileSize: int | None = Field(None, description="附件文件大小")
fileRole: str = Field(..., description="文件角色")
ossUrl: str | None = Field(None, description="附件 OSS 路径")
createdBy: int | None = Field(None, description="上传人")
createdAt: str | None = Field(None, description="上传时间")
class DocumentListItemVO(BaseModel):
"""文档列表项。"""
@@ -52,6 +77,9 @@ class DocumentListItemVO(BaseModel):
previousVersionId: int | None = Field(None, description="上一版本文档ID")
typeId: int | None = Field(None, description="文档类型ID")
typeCode: str | None = Field(None, description="文档类型编码")
typeName: str | None = Field(None, description="文档类型名称")
groupId: int | None = Field(None, description="命中的二级分组ID")
groupName: str | None = Field(None, description="二级分组名称")
region: str = Field(..., description="区域")
normalizedName: str | None = Field(None, description="归一化名称")
fileId: int | None = Field(None, description="文件ID")
@@ -68,12 +96,23 @@ class DocumentListItemVO(BaseModel):
passedCount: int | None = Field(None, description="通过数")
failedCount: int | None = Field(None, description="失败数")
skippedCount: int | None = Field(None, description="跳过数")
documentNumber: str | None = Field(None, description="业务文号/案号")
auditStatus: int | None = Field(None, description="人工维护审核状态")
isTestDocument: bool = Field(False, description="是否测试文档")
updatedAt: str | None = Field(None, description="更新时间")
hasHistory: bool = Field(False, description="是否存在历史版本")
totalVersions: int = Field(1, description="总版本数")
historyVersions: list[DocumentHistoryVersionVO] = Field(default_factory=list, description="历史版本摘要")
class DocumentDetailVO(DocumentListItemVO):
"""文档详情。"""
remark: str | None = Field(None, description="备注")
pageCount: int | None = Field(None, description="页数,暂无精确值时可为空")
attachments: list[DocumentAttachmentVO] = Field(default_factory=list, description="附件列表")
class DocumentTypeItemVO(BaseModel):
"""文档类型列表项。"""
@@ -117,3 +156,12 @@ class DocumentListPageVO(BaseModel):
pageSize: int = Field(..., description="每页数量")
totalPages: int = Field(..., description="总页数")
documents: list[DocumentListItemVO] = Field(default_factory=list, description="文档列表")
class DocumentUpdateDTO(BaseModel):
"""文档元数据更新请求。"""
documentNumber: str | None = Field(None, description="业务文号/案号")
auditStatus: int | None = Field(None, description="人工维护审核状态(若表结构支持则写入)")
isTestDocument: bool | None = Field(None, description="是否测试文档")
remark: str | None = Field(None, description="备注")