| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- from datetime import datetime
- from typing import Optional, List, Any
- from pydantic import BaseModel, Field
- class ContractDocumentResponse(BaseModel):
- id: int = Field(description="合同文档ID")
- contract_type: str = Field(description="合同类型编码")
- contract_name: str = Field(description="合同名称")
- is_primary: int = Field(description="是否主合同,1是0否")
- status: int = Field(description="签署状态,0未签1已签")
- sign_flow_id: str = Field(description="e签宝签署流程ID")
- file_id: str = Field(description="e签宝文件ID")
- template_url: str = Field(description="合同模板文件链接")
- sign_url: str = Field(description="签署链接")
- download_url: str = Field(description="已签文件下载链接")
- signing_time: Optional[datetime] = Field(default=None, description="签署时间")
- effective_time: Optional[datetime] = Field(default=None, description="生效时间")
- expiry_time: Optional[datetime] = Field(default=None, description="到期时间")
- class ContractBundleResponse(BaseModel):
- id: int = Field(description="合同包ID")
- subject_type: str = Field(description="主体类型,store或lawyer")
- subject_id: int = Field(description="主体ID")
- subject_name: str = Field(description="主体名称")
- business_segment: str = Field(description="业务板块")
- contact_name: str = Field(description="联系人姓名")
- contact_phone: str = Field(description="联系人手机号")
- ord_id: str = Field(description="统一社会信用代码")
- bundle_type: str = Field(description="合同包类型")
- status: str = Field(description="合同包状态")
- primary_document_id: Optional[int] = Field(default=None, description="主合同文档ID")
- documents: List[ContractDocumentResponse] = Field(description="合同文档列表")
- class BundleCreateResponse(BaseModel):
- success: bool = Field(description="是否成功")
- message: str = Field(description="响应消息")
- bundle_id: Optional[int] = Field(default=None, description="合同包ID")
- primary_sign_flow_id: Optional[str] = Field(default=None, description="主合同签署流程ID")
- created_contracts: Optional[List[dict]] = Field(default=None, description="本次创建的合同列表")
- class ErrorResponse(BaseModel):
- success: bool = Field(default=False, description="是否成功")
- message: str = Field(description="错误消息")
- raw: Optional[Any] = Field(default=None, description="原始错误数据")
- class SuccessResponse(BaseModel):
- code: str = Field(description="响应代码")
- msg: str = Field(description="响应消息")
- class PaginatedBundleResponse(BaseModel):
- items: List[ContractBundleResponse] = Field(description="合同包列表")
- total: int = Field(description="总记录数")
- page: int = Field(description="当前页码")
- page_size: int = Field(description="每页条数")
- total_pages: int = Field(description="总页数")
- class ModuleStatusResponse(BaseModel):
- module: str = Field(description="模块名称")
- status: str = Field(description="模块状态")
|