first commit

This commit is contained in:
strepsiades
2026-03-09 16:31:42 +08:00
commit 4a9c444b10
486 changed files with 52479 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
from pydantic import BaseModel, Field, field_validator
from typing import List, Optional, Literal
from ..common.base import BaseResponseWithID
class CompanyResponse(BaseResponseWithID):
code: str = Field(..., description="公司编码")
company_type: str = Field(..., description="公司类型")
name: str = Field(..., description="公司名称")
short_name: str = Field(..., description="公司简称")
parent_id: Optional[str] = Field(None, description="父公司ID")
path: List[str] = Field(default_factory=list, description="公司路径 [..., 上级id, 本身id]")
path_name: List[str] = Field(default_factory=list, description="公司路径名称 [..., 上级名称, 本身名称]")
province: Optional[str] = Field(None, description="省份编码") # 存省份编码
city: Optional[str] = Field(None, description="城市编码") # 存城市编码
sort: int = Field(0, description="排序")
status: str = Field("", description="公司状态")
company_nature: Optional[list] = Field(..., description="公司性质")
credit_code: Optional[str] = Field(None, description="信用代码", examples=["914403007109310121"])
city_name: Optional[str] = Field(None, description="城市名称", examples=[None])
province_name: Optional[str] = Field(None, description="省份名称", examples=[None])
parent_name: Optional[str] = Field(None, description="父级公司名称", examples=[None])
@field_validator(
"path",
"path_name",
mode="before"
)
def formate_null_to_list(cls, field_value):
if field_value is None:
return []
return field_value
class CompanyListResponse(BaseModel):
page: int
page_size: int
total: int
list: List[CompanyResponse] = []