Files
LoveACE-EndF/provider/aufe/aac/model.py
2025-08-03 16:50:56 +08:00

106 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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=[]
)
]