32 lines
805 B
Python
32 lines
805 B
Python
"""健康度评分相关 Pydantic schema。"""
|
|
|
|
from datetime import datetime
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class HealthScoreResponse(BaseModel):
|
|
"""健康度评分响应。"""
|
|
|
|
id: str
|
|
company_id: str
|
|
company_name: str | None = None
|
|
total_score: float
|
|
financial_score: float | None = None
|
|
operational_score: float | None = None
|
|
ai_commercial_score: float | None = None
|
|
ai_cost_score: float | None = None
|
|
trend: str | None = None
|
|
evidence_json: dict | None = None
|
|
recommendations_json: dict | None = None
|
|
calculated_at: datetime
|
|
|
|
|
|
class DashboardSummary(BaseModel):
|
|
"""仪表盘汇总数据。"""
|
|
|
|
total_companies: int
|
|
avg_health_score: float
|
|
high_risk_count: int
|
|
pending_reports: int
|
|
recent_scores: list[HealthScoreResponse]
|