feat: update audit platform workspace
This commit is contained in:
@@ -27,6 +27,8 @@ class EntryModuleCreateDTO(BaseModel):
|
||||
description: str | None = Field(None, description="模块描述")
|
||||
path: str | None = Field(None, description="前端路由路径")
|
||||
route_path: str | None = Field(None, description="前端跳转路径")
|
||||
menu_profile: str | None = Field(None, description="菜单模板:document_review/contract/govdoc/custom")
|
||||
features: list[str] | None = Field(None, description="启用功能编码列表")
|
||||
areas: list[EntryModuleAreaDTO] | None = Field(None, description="历史地区配置(兼容字段,建议改用 tenants)")
|
||||
tenants: list[EntryModuleTenantDTO] | None = Field(None, description="租户配置")
|
||||
|
||||
@@ -38,5 +40,7 @@ class EntryModuleUpdateDTO(BaseModel):
|
||||
description: str | None = Field(None, description="模块描述")
|
||||
path: str | None = Field(None, description="前端路由路径")
|
||||
route_path: str | None = Field(None, description="前端跳转路径")
|
||||
menu_profile: str | None = Field(None, description="菜单模板:document_review/contract/govdoc/custom")
|
||||
features: list[str] | None = Field(None, description="启用功能编码列表")
|
||||
areas: list[EntryModuleAreaDTO] | None = Field(None, description="历史地区配置(兼容字段,建议改用 tenants)")
|
||||
tenants: list[EntryModuleTenantDTO] | None = Field(None, description="租户配置")
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
"""企查查 DTO。"""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class QichachaCompanyQueryDTO(BaseModel):
|
||||
"""企业查询请求。"""
|
||||
|
||||
keyword: str = Field(..., min_length=2, max_length=200, description="企业名称或统一社会信用代码")
|
||||
forceRefresh: bool = Field(False, description="是否强制刷新缓存")
|
||||
|
||||
|
||||
class QichachaBatchQueryDTO(BaseModel):
|
||||
"""批量企业查询请求。"""
|
||||
|
||||
keywords: list[str] = Field(..., min_length=1, max_length=10, description="企业名称或统一社会信用代码列表")
|
||||
forceRefresh: bool = Field(False, description="是否强制刷新缓存")
|
||||
@@ -23,12 +23,14 @@ class CrossReviewTaskItemVO(BaseModel):
|
||||
docTypeId: int | None = Field(None, description="文档类型ID")
|
||||
docTypeCode: str | None = Field(None, description="文档类型编码")
|
||||
status: str = Field(..., description="任务状态")
|
||||
progress: float = Field(0, description="进度百分比")
|
||||
totalDocuments: int = Field(0, description="文档总数")
|
||||
completedDocuments: int = Field(0, description="已完成文档数")
|
||||
progress: float | None = Field(0, description="进度百分比")
|
||||
totalDocuments: int | None = Field(0, description="文档总数")
|
||||
completedDocuments: int | None = Field(0, description="已完成文档数")
|
||||
createdAt: datetime | None = Field(None, description="创建时间")
|
||||
evaluationTenants: list[CrossReviewTaskTenantVO] = Field(default_factory=list, description="评查租户列表")
|
||||
evaluationRegion: list[str] = Field(default_factory=list, description="评查租户/地区(兼容展示值)")
|
||||
currentUserRole: str = Field("participant", description="当前用户在任务中的角色:assigner/principal/participant")
|
||||
currentUserCanConfirm: bool = Field(False, description="当前用户是否可确认完成任务文档")
|
||||
|
||||
|
||||
class CrossReviewTaskPageVO(BaseModel):
|
||||
|
||||
@@ -20,6 +20,7 @@ class DocumentUploadVO(BaseModel):
|
||||
typeId: int = Field(..., description="文档类型ID")
|
||||
typeCode: str = Field(..., description="文档类型编码")
|
||||
groupId: int | None = Field(None, description="命中的二级分组ID")
|
||||
entryModuleId: int | None = Field(None, description="所属入口模块ID")
|
||||
region: str = Field(..., description="所属地区")
|
||||
tenantCode: str | None = Field(None, description="所属租户编码")
|
||||
tenantName: str | None = Field(None, description="所属租户名称")
|
||||
@@ -109,6 +110,7 @@ class DocumentListItemVO(BaseModel):
|
||||
typeName: str | None = Field(None, description="文档类型名称")
|
||||
groupId: int | None = Field(None, description="命中的二级分组ID")
|
||||
groupName: str | None = Field(None, description="二级分组名称")
|
||||
entryModuleId: int | None = Field(None, description="所属入口模块ID")
|
||||
region: str = Field(..., description="区域")
|
||||
tenantCode: str | None = Field(None, description="所属租户编码")
|
||||
tenantName: str | None = Field(None, description="所属租户名称")
|
||||
|
||||
@@ -12,6 +12,14 @@ class EntryModuleTenantVO(BaseModel):
|
||||
sort_order: int = Field(0, description="排序号")
|
||||
|
||||
|
||||
class EntryModuleBusinessScopeVO(BaseModel):
|
||||
"""入口模块业务范围摘要。"""
|
||||
|
||||
category_count: int = Field(0, description="业务大类数量")
|
||||
business_type_count: int = Field(0, description="业务类型数量")
|
||||
categories: list[str] = Field(default_factory=list, description="业务大类名称列表")
|
||||
|
||||
|
||||
class EntryModuleVO(BaseModel):
|
||||
"""入口模块详情。"""
|
||||
|
||||
@@ -20,9 +28,12 @@ class EntryModuleVO(BaseModel):
|
||||
description: str | None = Field(None, description="模块描述")
|
||||
path: str | None = Field(None, description="图标路径")
|
||||
route_path: str | None = Field(None, description="前端跳转路径")
|
||||
menu_profile: str = Field("document_review", description="菜单模板")
|
||||
features: list[str] = Field(default_factory=list, description="启用功能编码列表")
|
||||
sort_order: int = Field(0, description="排序")
|
||||
is_enabled: bool = Field(True, description="是否启用")
|
||||
tenants: list[EntryModuleTenantVO] = Field(default_factory=list, description="租户配置")
|
||||
business_scope: EntryModuleBusinessScopeVO = Field(default_factory=EntryModuleBusinessScopeVO, description="业务范围摘要")
|
||||
created_at: str | None = Field(None, description="创建时间")
|
||||
updated_at: str | None = Field(None, description="更新时间")
|
||||
|
||||
|
||||
@@ -36,9 +36,31 @@ class HomeEntryModuleVO(BaseModel):
|
||||
description: str | None = Field(None, description="模块描述")
|
||||
targetPath: str | None = Field(None, description="点击后跳转路径")
|
||||
routePath: str | None = Field(None, description="用于 RBAC 校验的页面路径")
|
||||
menuProfile: str = Field("document_review", description="菜单模板")
|
||||
features: list[str] = Field(default_factory=list, description="启用功能编码列表")
|
||||
tenantCode: str | None = Field(None, description="当前命中的租户编码")
|
||||
iconPath: str | None = Field(None, description="模块图标路径")
|
||||
sortOrder: int = Field(0, description="排序序号")
|
||||
requiresDocumentTypes: bool = Field(True, description="是否要求至少绑定一个文档类型")
|
||||
areas: list[HomeEntryAreaVO] = Field(default_factory=list, description="地区配置")
|
||||
tenants: list[HomeEntryTenantVO] = Field(default_factory=list, description="租户配置")
|
||||
documentTypes: list[HomeEntryDocumentTypeVO] = Field(default_factory=list, description="关联文档类型列表")
|
||||
|
||||
|
||||
class HomeDashboardGrowthVO(BaseModel):
|
||||
"""首页统计环比数据。"""
|
||||
|
||||
value: int = Field(0, description="环比百分比")
|
||||
isUp: bool = Field(True, description="是否上升")
|
||||
|
||||
|
||||
class HomeDashboardStatisticsVO(BaseModel):
|
||||
"""首页统计卡片数据。"""
|
||||
|
||||
todayPendingFiles: int = Field(0, description="今日待审文件数")
|
||||
monthlyReviewedFiles: int = Field(0, description="本月已审核文件数")
|
||||
monthlyReviewGrowth: HomeDashboardGrowthVO = Field(default_factory=HomeDashboardGrowthVO, description="本月审核数环比")
|
||||
monthlyPassRate: int = Field(0, description="本月审核通过率")
|
||||
passRateGrowth: HomeDashboardGrowthVO = Field(default_factory=HomeDashboardGrowthVO, description="通过率环比")
|
||||
issuesDetected: int = Field(0, description="本月问题检出数")
|
||||
issuesGrowth: HomeDashboardGrowthVO = Field(default_factory=HomeDashboardGrowthVO, description="问题检出数环比")
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
"""企查查 VO。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class QichachaCompanyInfoVO(BaseModel):
|
||||
"""企业信息响应。"""
|
||||
|
||||
searchKey: str = Field(..., description="查询关键词")
|
||||
creditCode: str | None = Field(None, description="统一社会信用代码")
|
||||
companyName: str | None = Field(None, description="企业名称")
|
||||
enterprise: dict[str, Any] | None = Field(None, description="工商信息")
|
||||
dishonesty: dict[str, Any] | None = Field(None, description="失信信息")
|
||||
hasDishonesty: bool = Field(False, description="是否存在失信记录")
|
||||
dishonestyCount: int = Field(0, description="失信记录数量")
|
||||
updatedAt: str | None = Field(None, description="更新时间")
|
||||
|
||||
|
||||
class QichachaCompanyQueryVO(BaseModel):
|
||||
"""企业查询响应。"""
|
||||
|
||||
success: bool = Field(..., description="是否成功")
|
||||
message: str = Field(..., description="响应消息")
|
||||
data: QichachaCompanyInfoVO | None = Field(None, description="企业信息")
|
||||
errorCode: str | None = Field(None, description="错误码")
|
||||
errorDetails: dict[str, Any] | None = Field(None, description="错误详情")
|
||||
|
||||
|
||||
class QichachaBatchQueryVO(BaseModel):
|
||||
"""批量企业查询响应。"""
|
||||
|
||||
success: bool = Field(..., description="是否全部成功")
|
||||
total: int = Field(..., description="查询总数")
|
||||
successCount: int = Field(..., description="成功数")
|
||||
failedCount: int = Field(..., description="失败数")
|
||||
results: list[QichachaCompanyQueryVO] = Field(default_factory=list, description="查询结果")
|
||||
|
||||
|
||||
class QichachaRecordStatusVO(BaseModel):
|
||||
"""企业缓存记录状态响应。"""
|
||||
|
||||
exists: bool = Field(..., description="是否存在缓存")
|
||||
searchKey: str = Field(..., description="查询关键词")
|
||||
creditCode: str | None = Field(None, description="统一社会信用代码")
|
||||
companyName: str | None = Field(None, description="企业名称")
|
||||
hasEnterprise: bool = Field(False, description="是否有工商信息")
|
||||
hasDishonesty: bool = Field(False, description="是否有失信信息")
|
||||
updatedAt: str | None = Field(None, description="更新时间")
|
||||
ageDays: int | None = Field(None, description="缓存天数")
|
||||
refreshThresholdDays: int = Field(..., description="刷新阈值")
|
||||
needRefresh: bool = Field(False, description="是否需要刷新")
|
||||
Reference in New Issue
Block a user