Files
2026-05-25 09:50:01 +08:00

56 lines
2.4 KiB
Python

"""企查查 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="是否需要刷新")