Files
LoveACE-EndF/provider/aufe/aac/model.py

106 lines
3.0 KiB
Python
Raw Normal View History

2025-08-03 16:50:56 +08:00
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=[]
)
]