106 lines
3.0 KiB
Python
106 lines
3.0 KiB
Python
from typing import List, Optional, Any
|
||
from pydantic import BaseModel, Field
|
||
|
||
|
||
class LoveACScoreInfo(BaseModel):
|
||
"""爱安财总分信息"""
|
||
|
||
total_score: float = Field(0.0, alias="TotalScore")
|
||
is_type_adopt: bool = Field(False, alias="IsTypeAdopt")
|
||
type_adopt_result: str = Field("", alias="TypeAdoptResult")
|
||
|
||
|
||
class LoveACScoreItem(BaseModel):
|
||
"""爱安财分数明细条目"""
|
||
|
||
id: str = Field("", alias="ID")
|
||
title: str = Field("", alias="Title")
|
||
type_name: str = Field("", alias="TypeName")
|
||
user_no: str = Field("", alias="UserNo")
|
||
score: float = Field(0.0, alias="Score")
|
||
add_time: str = Field("", alias="AddTime")
|
||
|
||
|
||
class LoveACScoreCategory(BaseModel):
|
||
"""爱安财分数类别"""
|
||
|
||
id: str = Field("", alias="ID")
|
||
show_num: int = Field(0, alias="ShowNum")
|
||
type_name: str = Field("", alias="TypeName")
|
||
total_score: float = Field(0.0, alias="TotalScore")
|
||
children: List[LoveACScoreItem] = Field([], alias="children")
|
||
|
||
|
||
class LoveACBaseResponse(BaseModel):
|
||
"""爱安财系统响应基础模型"""
|
||
|
||
code: int = 0
|
||
msg: str = ""
|
||
data: Any = None
|
||
|
||
|
||
class LoveACScoreInfoResponse(LoveACBaseResponse):
|
||
"""爱安财总分响应"""
|
||
|
||
data: Optional[LoveACScoreInfo] = None
|
||
|
||
|
||
class LoveACScoreListResponse(LoveACBaseResponse):
|
||
"""爱安财分数列表响应"""
|
||
|
||
data: Optional[List[LoveACScoreCategory]] = None
|
||
|
||
|
||
class SimpleResponse(BaseModel):
|
||
"""简单响应类,用于解析基本的JSON结构"""
|
||
|
||
code: int = 0
|
||
msg: str = ""
|
||
data: Any = None
|
||
|
||
|
||
class ErrorLoveACScoreInfo(LoveACScoreInfo):
|
||
"""错误的爱安财总分信息模型,用于重试失败时返回"""
|
||
|
||
total_score: float = Field(-1.0, alias="TotalScore")
|
||
is_type_adopt: bool = Field(False, alias="IsTypeAdopt")
|
||
type_adopt_result: str = Field("请求失败,请稍后重试", alias="TypeAdoptResult")
|
||
|
||
|
||
class ErrorLoveACScoreCategory(BaseModel):
|
||
"""错误的爱安财分数类别模型"""
|
||
|
||
id: str = Field("error", alias="ID")
|
||
show_num: int = Field(-1, alias="ShowNum")
|
||
type_name: str = Field("请求失败", alias="TypeName")
|
||
total_score: float = Field(-1.0, alias="TotalScore")
|
||
children: List[LoveACScoreItem] = Field([], alias="children")
|
||
|
||
|
||
class ErrorLoveACBaseResponse(BaseModel):
|
||
"""错误的爱安财系统响应基础模型"""
|
||
|
||
code: int = -1
|
||
msg: str = "网络请求失败,已进行多次重试"
|
||
data: Any = None
|
||
|
||
|
||
class ErrorLoveACScoreInfoResponse(ErrorLoveACBaseResponse):
|
||
"""错误的爱安财总分响应"""
|
||
|
||
data: Optional[ErrorLoveACScoreInfo] = ErrorLoveACScoreInfo(
|
||
TotalScore=-1.0, IsTypeAdopt=False, TypeAdoptResult="请求失败,请稍后重试"
|
||
)
|
||
|
||
|
||
class ErrorLoveACScoreListResponse(LoveACScoreListResponse):
|
||
"""错误的爱安财分数列表响应"""
|
||
|
||
code: int = -1
|
||
msg: str = "网络请求失败,已进行多次重试"
|
||
data: Optional[List[ErrorLoveACScoreCategory]] = [
|
||
ErrorLoveACScoreCategory(
|
||
ID="error", ShowNum=-1, TypeName="请求失败", TotalScore=-1.0, children=[]
|
||
)
|
||
]
|